package com.example.ddz;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Vector;

public class AI {
	  private static final Random RNG = new Random();

	  public static boolean Percent(int paramInt)
	  {
	    int i = RNG.nextInt(100) + 1;
	    if (i == 100)
	      i = 99;
	    if (i < paramInt);
	    for (int j = 1; ; j = 0)
	      return j;
	  }

	  public static boolean againstOneCard(PlayersCardsInfo paramPlayersCardsInfo, Card paramCard)
	  {
	    int i = paramPlayersCardsInfo.danNum;
	    int j = 0 + i;
	    int k = paramPlayersCardsInfo.sanNum;
	    int m = j - k;
	    int n = 0;
	    int i1 = paramPlayersCardsInfo.step;
	    if (n >= i1)
	      if (m > 1)
	        break label134;
	    label134: for (int i2 = 1; ; i2 = 0)
	    {
	      return i2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(n);
	      if (localCardsType.type == 1)
	      {
	        int i3 = localCardsType.max;
	        int i4 = paramCard.num;
	        if (i3 > i4)
	          m += -1;
	      }
	      if (localCardsType.type == 10)
	      {
	        int i5 = localCardsType.length / 3;
	        int i6 = m - i5;
	      }
	      n += 1;
	      break;
	    }
	  }

	  private static boolean canOutCards(Vector<Card> paramVector1, Vector<Card> paramVector2)
	  {
	    int i = getType(paramVector1);
	    int j;
	    if ((paramVector2 == null) || (paramVector2.size() == 0))
	      if (i > 0)
	        j = 1;
	    while (true)
	    {
	      return j;
	      j = 0;
	      continue;
	      int k = getType(paramVector2);
	      if (k == 14)
	      {
	        j = 0;
	        continue;
	      }
	      if (i == 14)
	      {
	        j = 1;
	        continue;
	      }
	      if (i == 13)
	      {
	        if (k == 13)
	        {
	          int m = ((Card)paramVector1.elementAt(0)).num;
	          int n = ((Card)paramVector2.elementAt(0)).num;
	          if (m > n)
	          {
	            j = 1;
	            continue;
	          }
	          j = 0;
	          continue;
	        }
	        j = 1;
	        continue;
	      }
	      int i1 = paramVector1.size();
	      int i2 = paramVector2.size();
	      if (i1 != i2)
	      {
	        j = 0;
	        continue;
	      }
	      if (i != k)
	      {
	        j = 0;
	        continue;
	      }
	      Vector localVector1 = sortByFaceAndSuit(sortByBigOrSmall(paramVector1));
	      Vector localVector2 = sortByFaceAndSuit(sortByBigOrSmall(paramVector2));
	      int i3 = ((Card)localVector1.elementAt(0)).num;
	      int i4 = ((Card)localVector2.elementAt(0)).num;
	      if (i3 > i4)
	      {
	        j = 1;
	        continue;
	      }
	      j = 0;
	    }
	  }

	  private static boolean canOverAfterOut(Vector<Card> paramVector1, Vector<Card> paramVector2, Card paramCard)
	  {
	    Vector localVector = cloneCards(paramVector2);
	    int i;
	    if (!deleteCards(localVector, paramVector1))
	      i = 0;
	    while (true)
	    {
	      return i;
	      if (againstOneCard(makeCards(localVector), paramCard))
	      {
	        i = 1;
	        continue;
	      }
	      i = 0;
	    }
	  }

	  public static Boolean checkCanOutCards(Player paramPlayer1, Player paramPlayer2, Player paramPlayer3, Vector<Card> paramVector)
	  {
	    Vector localVector1 = paramPlayer3.getOutCards();
	    Vector localVector2 = paramPlayer2.getOutCards();
	    if ((localVector2 == null) || (localVector2.size() == 0));
	    for (Vector localVector3 = localVector1; ; localVector3 = localVector2)
	      return Boolean.valueOf(canOutCards(paramVector, localVector3));
	  }

	  public static Vector<Card> cloneCards(Vector<Card> paramVector)
	  {
	    Vector localVector = new Vector();
	    int i = paramVector.size();
	    int j = 0;
	    while (true)
	    {
	      if (j >= i)
	        return localVector;
	      Card localCard1 = (Card)paramVector.elementAt(j);
	      int k = localCard1.index;
	      int m = localCard1.suit;
	      Card localCard2 = new Card(k, m);
	      boolean bool = localVector.add(localCard2);
	      j += 1;
	    }
	  }

	  private static Vector<CardsAfterMake> cloneCardsAfterMake(Vector<CardsAfterMake> paramVector)
	  {
	    Vector localVector1 = new Vector();
	    int i = paramVector.size();
	    int j = 0;
	    while (true)
	    {
	      if (j >= i)
	        return localVector1;
	      CardsAfterMake localCardsAfterMake1 = (CardsAfterMake)paramVector.elementAt(j);
	      CardsAfterMake localCardsAfterMake2 = new CardsAfterMake();
	      Vector localVector2 = cloneCardsTypes(localCardsAfterMake1.spiltCards);
	      localCardsAfterMake2.spiltCards = localVector2;
	      Vector localVector3 = cloneCards(localCardsAfterMake1.leftCards);
	      localCardsAfterMake2.leftCards = localVector3;
	      boolean bool = localVector1.add(localCardsAfterMake2);
	      j += 1;
	    }
	  }

	  private static CardsType cloneCardsType(CardsType paramCardsType)
	  {
	    CardsType localCardsType = new CardsType();
	    Vector localVector = cloneCards(paramCardsType.cards);
	    localCardsType.cards = localVector;
	    int i = paramCardsType.type;
	    localCardsType.type = i;
	    int j = paramCardsType.max;
	    localCardsType.max = j;
	    int k = paramCardsType.length;
	    localCardsType.length = k;
	    return localCardsType;
	  }

	  private static Vector<CardsType> cloneCardsTypes(Vector<CardsType> paramVector)
	  {
	    Vector localVector1 = new Vector();
	    int i = paramVector.size();
	    int j = 0;
	    while (true)
	    {
	      if (j >= i)
	        return localVector1;
	      CardsType localCardsType1 = (CardsType)paramVector.elementAt(j);
	      CardsType localCardsType2 = new CardsType();
	      Vector localVector2 = cloneCards(localCardsType1.cards);
	      localCardsType2.cards = localVector2;
	      int k = localCardsType1.type;
	      localCardsType2.type = k;
	      int m = localCardsType1.max;
	      localCardsType2.max = m;
	      int n = localCardsType1.length;
	      localCardsType2.length = n;
	      boolean bool = localVector1.add(localCardsType2);
	      j += 1;
	    }
	  }

	  public static Vector<Card> concatCards(Vector<Card> paramVector1, Vector<Card> paramVector2)
	  {
	    if ((paramVector2 == null) || (paramVector2.size() == 0));
	    while (true)
	    {
	      return paramVector1;
	      int i = paramVector2.size();
	      Vector localVector = cloneCards(paramVector2);
	      int j = 0;
	      while (j < i)
	      {
	        Card localCard = (Card)localVector.elementAt(j);
	        boolean bool = paramVector1.add(localCard);
	        j += 1;
	      }
	    }
	  }

	  private static Vector<CardsAfterMake> concatCardsAfterMake(Vector<CardsAfterMake> paramVector1, Vector<CardsAfterMake> paramVector2)
	  {
	    if ((paramVector2 == null) || (paramVector2.size() == 0));
	    while (true)
	    {
	      return paramVector1;
	      int i = paramVector2.size();
	      Vector localVector = cloneCardsAfterMake(paramVector2);
	      int j = 0;
	      while (j < i)
	      {
	        CardsAfterMake localCardsAfterMake = (CardsAfterMake)localVector.elementAt(j);
	        boolean bool = paramVector1.add(localCardsAfterMake);
	        j += 1;
	      }
	    }
	  }

	  public static Vector<Card> createCards()
	  {
	    Vector localVector = new Vector();
	    int[] arrayOfInt1 = new int[54];
	    int[] arrayOfInt2 = new int[54];
	    int i = 0;
	    while (true)
	    {
	      if (i >= 54)
	      {
	        i = 1;
	        if (i >= 54)
	        {
	          i = 0;
	          if (i < 54)
	            break;
	          return localVector;
	        }
	      }
	      else
	      {
	        int j = RNG.nextInt(100);
	        arrayOfInt1[i] = j;
	        arrayOfInt2[i] = i;
	        i += 1;
	        continue;
	      }
	      int k = 0;
	      while (true)
	      {
	        int m = 54 - i;
	        if (k >= m)
	        {
	          i += 1;
	          break;
	        }
	        int n = arrayOfInt1[k];
	        int i1 = k + 1;
	        int i2 = arrayOfInt1[i1];
	        if (n < i2)
	        {
	          int i3 = k + 1;
	          swap(arrayOfInt1, k, i3);
	          int i4 = k + 1;
	          swap(arrayOfInt2, k, i4);
	        }
	        k += 1;
	      }
	    }
	    if (arrayOfInt2[i] < 13)
	    {
	      int i5 = arrayOfInt2[i];
	      Card localCard1 = new Card(i5, 3);
	      boolean bool1 = localVector.add(localCard1);
	    }
	    while (true)
	    {
	      i += 1;
	      break;
	      if (arrayOfInt2[i] < 26)
	      {
	        int i6 = arrayOfInt2[i] - 13;
	        Card localCard2 = new Card(i6, 2);
	        boolean bool2 = localVector.add(localCard2);
	        continue;
	      }
	      if (arrayOfInt2[i] < 39)
	      {
	        int i7 = arrayOfInt2[i] - 26;
	        Card localCard3 = new Card(i7, 1);
	        boolean bool3 = localVector.add(localCard3);
	        continue;
	      }
	      if (arrayOfInt2[i] < 52)
	      {
	        int i8 = arrayOfInt2[i] - 39;
	        Card localCard4 = new Card(i8, 0);
	        boolean bool4 = localVector.add(localCard4);
	        continue;
	      }
	      if (arrayOfInt2[i] == 52)
	      {
	        Card localCard5 = new Card(1, 4);
	        boolean bool5 = localVector.add(localCard5);
	        continue;
	      }
	      Card localCard6 = new Card(2, 4);
	      boolean bool6 = localVector.add(localCard6);
	    }
	  }

	  public static boolean deleteCards(Vector<Card> paramVector1, Vector<Card> paramVector2)
	  {
	    int i;
	    if ((paramVector2 == null) || (paramVector2.size() == 0))
	      i = 0;
	    while (true)
	    {
	      return i;
	      int j = paramVector2.size();
	      int k = paramVector1.size();
	      if (j > k)
	      {
	        i = 0;
	        continue;
	      }
	      int m = paramVector1.size();
	      int n = paramVector2.size();
	      int i1 = 0;
	      if (i1 >= n)
	      {
	        int i2 = paramVector2.size();
	        int i3 = paramVector1.size();
	        if (i2 + i3 != m)
	        {
	          i = 0;
	          continue;
	        }
	      }
	      else
	      {
	        int i4 = paramVector1.size();
	        int i5 = 0;
	        while (true)
	        {
	          if (i5 >= i4);
	          while (true)
	          {
	            i1 += 1;
	            break;
	            int i6 = ((Card)paramVector2.elementAt(i1)).num;
	            int i7 = ((Card)paramVector1.elementAt(i5)).num;
	            if (i6 != i7)
	              break label190;
	            int i8 = ((Card)paramVector2.elementAt(i1)).suit;
	            int i9 = ((Card)paramVector1.elementAt(i5)).suit;
	            if (i8 != i9)
	              break label190;
	            paramVector1.removeElementAt(i5);
	          }
	          label190: i5 += 1;
	        }
	      }
	      i = 1;
	    }
	  }

	  private static CardsAfterForce forceGetDan(int paramInt1, Vector<Card> paramVector, int paramInt2)
	  {
	    if (paramInt1 == 17);
	    for (Object localObject1 = null; ; localObject1 = null)
	    {
	      return localObject1;
	      if (paramVector.size() >= 1)
	        break;
	    }
	    Object localObject3 = null;
	    int k = paramInt1;
	    while (true)
	    {
	      if (k >= 17);
	      do
	      {
	        if (localObject3 != null)
	          break label177;
	        localObject1 = null;
	        break;
	        int[] arrayOfInt = new int[1];
	        int m = k + 1;
	        arrayOfInt[0] = m;
	        CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	        if (localCardsAfterSpilt == null)
	          continue;
	        PlayersCardsInfo localPlayersCardsInfo = makeCards(localCardsAfterSpilt.leftCards);
	        CardsAfterForce localCardsAfterForce = new CardsAfterForce();
	        Vector localVector1 = localCardsAfterSpilt.spiltCards;
	        localCardsAfterForce.spiltCards = localVector1;
	        Vector localVector2 = localCardsAfterSpilt.leftCards;
	        localCardsAfterForce.leftCards = localVector2;
	        localCardsAfterForce.cardsInfo = localPlayersCardsInfo;
	        if (localObject3 != null)
	        {
	          int n = localPlayersCardsInfo.pn;
	          int i1 = localObject3.cardsInfo.pn;
	          if (n >= i1)
	            continue;
	        }
	        localObject3 = localCardsAfterForce;
	      }
	      while (localObject3 != null);
	      k += 1;
	    }
	    label177: localObject3.noLoss = 0;
	    localObject3.hasLotLoss = 0;
	    if ((localObject3.cardsInfo == null) || (localObject3.cardsInfo.pn - paramInt2 <= 0))
	      localObject3.noLoss = 1;
	    if ((localObject3.cardsInfo == null) || (localObject3.cardsInfo.pn - paramInt2 < 15))
	      localObject3.hasLotLoss = 1;
	    if (localObject3.cardsInfo == null);
	    int j;
	    for (int i = 0; ; j = localObject3.cardsInfo.pn)
	    {
	      localObject3.pn = i;
	      Object localObject2 = localObject3;
	      break;
	    }
	  }

	  private static Vector<Card> forceGetDan(int paramInt, Vector<Card> paramVector)
	  {
	    if (paramInt == 17);
	    for (Vector localVector = null; ; localVector = null)
	    {
	      return localVector;
	      if (paramVector.size() >= 1)
	        break;
	    }
	    int i = paramInt;
	    while (true)
	    {
	      if (i >= 17)
	      {
	        localVector = null;
	        break;
	      }
	      int[] arrayOfInt = new int[1];
	      int j = i + 1;
	      arrayOfInt[0] = j;
	      CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	      if (localCardsAfterSpilt != null)
	      {
	        localVector = localCardsAfterSpilt.spiltCards;
	        break;
	      }
	      i += 1;
	    }
	  }

	  public static CardsAfterForce forceGetDui(int paramInt1, Vector<Card> paramVector, int paramInt2)
	  {
	    if (paramInt1 == 15);
	    for (Object localObject1 = null; ; localObject1 = null)
	    {
	      return localObject1;
	      if (paramVector.size() >= 2)
	        break;
	    }
	    Object localObject3 = null;
	    int k = paramInt1;
	    while (true)
	    {
	      if (k >= 15)
	      {
	        if (localObject3 != null)
	          break label184;
	        localObject1 = null;
	        break;
	      }
	      int[] arrayOfInt = new int[2];
	      int m = k + 1;
	      arrayOfInt[0] = m;
	      int n = k + 1;
	      arrayOfInt[1] = n;
	      CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	      if (localCardsAfterSpilt != null)
	      {
	        PlayersCardsInfo localPlayersCardsInfo = makeCards(localCardsAfterSpilt.leftCards);
	        CardsAfterForce localCardsAfterForce1 = new CardsAfterForce();
	        Vector localVector1 = localCardsAfterSpilt.spiltCards;
	        localCardsAfterForce1.spiltCards = localVector1;
	        Vector localVector2 = localCardsAfterSpilt.leftCards;
	        localCardsAfterForce1.leftCards = localVector2;
	        localCardsAfterForce1.cardsInfo = localPlayersCardsInfo;
	        if (localObject3 != null)
	        {
	          int i1 = localPlayersCardsInfo.pn;
	          int i2 = localObject3.cardsInfo.pn;
	          if (i1 >= i2);
	        }
	        else
	        {
	          CardsAfterForce localCardsAfterForce2 = localCardsAfterForce1;
	        }
	      }
	      k += 1;
	    }
	    label184: localObject3.noLoss = 0;
	    localObject3.hasLotLoss = 0;
	    if ((localObject3.cardsInfo == null) || (localObject3.cardsInfo.pn - paramInt2 <= 0))
	      localObject3.noLoss = 1;
	    if ((localObject3.cardsInfo == null) || (localObject3.cardsInfo.pn - paramInt2 < 15))
	      localObject3.hasLotLoss = 1;
	    if (localObject3.cardsInfo == null);
	    int j;
	    for (int i = 0; ; j = localObject3.cardsInfo.pn)
	    {
	      localObject3.pn = i;
	      Object localObject2 = localObject3;
	      break;
	    }
	  }

	  public static Vector<Card> forceGetDui(int paramInt, Vector<Card> paramVector)
	  {
	    if (paramInt == 15);
	    for (Vector localVector = null; ; localVector = null)
	    {
	      return localVector;
	      if (paramVector.size() >= 2)
	        break;
	    }
	    int i = paramInt;
	    while (true)
	    {
	      if (i >= 15)
	      {
	        localVector = null;
	        break;
	      }
	      int[] arrayOfInt = new int[2];
	      int j = i + 1;
	      arrayOfInt[0] = j;
	      int k = i + 1;
	      arrayOfInt[1] = k;
	      CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	      if (localCardsAfterSpilt != null)
	      {
	        localVector = localCardsAfterSpilt.spiltCards;
	        break;
	      }
	      i += 1;
	    }
	  }

	  private static CardsAfterForce forceGetShun(int paramInt1, int paramInt2, Vector<Card> paramVector, int paramInt3)
	  {
	    if (paramInt1 == 14)
	      paramInt1 = null;
	    int i;
	    Object localObject1;
	    while (true)
	    {
	      return paramInt1;
	      if (paramVector.size() < paramInt2)
	      {
	        paramInt1 = null;
	        continue;
	      }
	      i = paramInt1;
	      localObject1 = null;
	      label29: if (i >= 14)
	      {
	        if (localObject1 == null)
	        {
	          paramInt1 = null;
	          continue;
	        }
	      }
	      else
	      {
	        localObject2 = new int[paramInt2];
	        paramInt1 = 0;
	        label53: if (paramInt1 >= paramInt2)
	        {
	          localObject2 = takeOutCards(localObject2, paramVector);
	          if (localObject2 == null)
	            break label293;
	          PlayersCardsInfo localPlayersCardsInfo = makeCards(((CardsAfterSpilt)localObject2).leftCards);
	          paramInt1 = new CardsAfterForce();
	          Vector localVector1 = ((CardsAfterSpilt)localObject2).spiltCards;
	          paramInt1.spiltCards = localVector1;
	          Vector localVector2 = ((CardsAfterSpilt)localObject2).leftCards;
	          paramInt1.leftCards = localVector2;
	          paramInt1.cardsInfo = localPlayersCardsInfo;
	          if (localObject1 == null)
	            break;
	          int j = localPlayersCardsInfo.pn;
	          int k = localObject1.cardsInfo.pn;
	          if (j >= k)
	            break label293;
	        }
	      }
	    }
	    label293: for (Object localObject2 = paramInt1; ; localObject2 = localObject1)
	    {
	      i += 1;
	      localObject1 = localObject2;
	      break label29;
	      int m = i + 1 - paramInt1;
	      localObject2[paramInt1] = m;
	      paramInt1 += 1;
	      break label53;
	      localObject1.noLoss = 0;
	      localObject1.hasLotLoss = 0;
	      if ((localObject1.cardsInfo == null) || (localObject1.cardsInfo.pn - paramInt3 <= 0))
	        localObject1.noLoss = 1;
	      if ((localObject1.cardsInfo == null) || (localObject1.cardsInfo.pn - paramInt3 < 15))
	        localObject1.hasLotLoss = 1;
	      if (localObject1.cardsInfo == null);
	      for (paramInt1 = 0; ; paramInt1 = localObject1.cardsInfo.pn)
	      {
	        localObject1.pn = paramInt1;
	        paramInt1 = localObject1;
	        break;
	      }
	    }
	  }

	  private static Vector<Card> forceGetShun(int paramInt1, int paramInt2, Vector<Card> paramVector)
	  {
	    if (paramInt1 == 14);
	    for (Vector localVector = null; ; localVector = null)
	    {
	      return localVector;
	      if (paramVector.size() >= paramInt2)
	        break;
	    }
	    int i = paramInt1;
	    while (true)
	    {
	      if (i >= 14)
	      {
	        localVector = null;
	        break;
	      }
	      int[] arrayOfInt = new int[paramInt2];
	      int j = 0;
	      while (true)
	      {
	        if (j >= paramInt2)
	        {
	          CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	          if (localCardsAfterSpilt == null)
	            break label99;
	          localVector = localCardsAfterSpilt.spiltCards;
	          break;
	        }
	        int k = i + 1 - j;
	        arrayOfInt[j] = k;
	        j += 1;
	      }
	      label99: i += 1;
	    }
	  }

	  private static CardsAfterForce forceGetShun2(int paramInt1, int paramInt2, Vector<Card> paramVector, int paramInt3)
	  {
	    if (paramInt1 == 14)
	      paramInt1 = null;
	    int k;
	    Object localObject1;
	    while (true)
	    {
	      return paramInt1;
	      int i = paramVector.size();
	      int j = paramInt2 * 2;
	      if (i < j)
	      {
	        paramInt1 = null;
	        continue;
	      }
	      k = paramInt1;
	      localObject1 = null;
	      label39: if (k >= 14)
	      {
	        if (localObject1 == null)
	        {
	          paramInt1 = null;
	          continue;
	        }
	      }
	      else
	      {
	        localObject2 = new int[paramInt2 * 2];
	        paramInt1 = 0;
	        label65: int m = paramInt2 * 2 - 1;
	        if (paramInt1 >= m)
	        {
	          localObject2 = takeOutCards(localObject2, paramVector);
	          if (localObject2 == null)
	            break label353;
	          PlayersCardsInfo localPlayersCardsInfo = makeCards(((CardsAfterSpilt)localObject2).leftCards);
	          paramInt1 = new CardsAfterForce();
	          Vector localVector1 = ((CardsAfterSpilt)localObject2).spiltCards;
	          paramInt1.spiltCards = localVector1;
	          Vector localVector2 = ((CardsAfterSpilt)localObject2).leftCards;
	          paramInt1.leftCards = localVector2;
	          paramInt1.cardsInfo = localPlayersCardsInfo;
	          if (localObject1 == null)
	            break;
	          int n = localPlayersCardsInfo.pn;
	          int i1 = localObject1.cardsInfo.pn;
	          if (n >= i1)
	            break label353;
	        }
	      }
	    }
	    label353: for (Object localObject2 = paramInt1; ; localObject2 = localObject1)
	    {
	      k += 1;
	      localObject1 = localObject2;
	      break label39;
	      int i2 = k + 1;
	      int i3 = paramInt1 / 2;
	      int i4 = i2 - i3;
	      localObject2[paramInt1] = i4;
	      int i5 = paramInt1 + 1;
	      int i6 = k + 1;
	      int i7 = paramInt1 / 2;
	      int i8 = i6 - i7;
	      localObject2[i5] = i8;
	      paramInt1 += 2;
	      break label65;
	      localObject1.noLoss = 0;
	      localObject1.hasLotLoss = 0;
	      if ((localObject1.cardsInfo == null) || (localObject1.cardsInfo.pn - paramInt3 <= 0))
	        localObject1.noLoss = 1;
	      if ((localObject1.cardsInfo == null) || (localObject1.cardsInfo.pn - paramInt3 < 15))
	        localObject1.hasLotLoss = 1;
	      if (localObject1.cardsInfo == null);
	      for (paramInt1 = 0; ; paramInt1 = localObject1.cardsInfo.pn)
	      {
	        localObject1.pn = paramInt1;
	        paramInt1 = localObject1;
	        break;
	      }
	    }
	  }

	  private static Vector<Card> forceGetShun2(int paramInt1, int paramInt2, Vector<Card> paramVector)
	  {
	    if (paramInt1 == 14);
	    for (Vector localVector = null; ; localVector = null)
	    {
	      return localVector;
	      int i = paramVector.size();
	      int j = paramInt2 * 2;
	      if (i >= j)
	        break;
	    }
	    int k = paramInt1;
	    while (true)
	    {
	      if (k >= 14)
	      {
	        localVector = null;
	        break;
	      }
	      int[] arrayOfInt = new int[paramInt2 * 2];
	      int m = 0;
	      while (true)
	      {
	        int n = paramInt2 * 2 - 1;
	        if (m >= n)
	        {
	          CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	          if (localCardsAfterSpilt == null)
	            break label161;
	          localVector = localCardsAfterSpilt.spiltCards;
	          break;
	        }
	        int i1 = k + 1;
	        int i2 = m / 2;
	        int i3 = i1 - i2;
	        arrayOfInt[m] = i3;
	        int i4 = m + 1;
	        int i5 = k + 1;
	        int i6 = m / 2;
	        int i7 = i5 - i6;
	        arrayOfInt[i4] = i7;
	        m += 2;
	      }
	      label161: k += 1;
	    }
	  }

	  private static CardsAfterForce forceGetShun3(int paramInt1, int paramInt2, Vector<Card> paramVector, int paramInt3)
	  {
	    if ((paramInt1 == 14) && (paramInt2 > 1));
	    for (paramInt1 = null; ; paramInt1 = null)
	    {
	      return paramInt1;
	      int i = paramVector.size();
	      int j = paramInt2 * 3;
	      if (i >= j)
	        break;
	    }
	    Object localObject1 = null;
	    if (paramInt2 == 1);
	    int m;
	    Object localObject2;
	    for (int k = 15; ; k = 14)
	    {
	      m = paramInt1;
	      localObject2 = localObject1;
	      label57: if (m < k)
	        break label81;
	      if (localObject2 != null)
	        break label302;
	      paramInt1 = null;
	      break;
	    }
	    label81: localObject1 = new int[paramInt2 * 3];
	    paramInt1 = 0;
	    label90: int n = paramInt2 * 3 - 2;
	    if (paramInt1 >= n)
	    {
	      localObject1 = takeOutCards(localObject1, paramVector);
	      if (localObject1 == null)
	        break label408;
	      PlayersCardsInfo localPlayersCardsInfo = makeCards(((CardsAfterSpilt)localObject1).leftCards);
	      paramInt1 = new CardsAfterForce();
	      Vector localVector1 = ((CardsAfterSpilt)localObject1).spiltCards;
	      paramInt1.spiltCards = localVector1;
	      Vector localVector2 = ((CardsAfterSpilt)localObject1).leftCards;
	      paramInt1.leftCards = localVector2;
	      paramInt1.cardsInfo = localPlayersCardsInfo;
	      if (localObject2 != null)
	      {
	        int i1 = localPlayersCardsInfo.pn;
	        int i2 = localObject2.cardsInfo.pn;
	        if (i1 >= i2)
	          break label408;
	      }
	    }
	    label408: for (localObject1 = paramInt1; ; localObject1 = localObject2)
	    {
	      m += 1;
	      localObject2 = localObject1;
	      break label57;
	      int i3 = m + 1;
	      int i4 = paramInt1 / 3;
	      int i5 = i3 - i4;
	      localObject1[paramInt1] = i5;
	      int i6 = paramInt1 + 1;
	      int i7 = m + 1;
	      int i8 = paramInt1 / 3;
	      int i9 = i7 - i8;
	      localObject1[i6] = i9;
	      int i10 = paramInt1 + 2;
	      int i11 = m + 1;
	      int i12 = paramInt1 / 3;
	      int i13 = i11 - i12;
	      localObject1[i10] = i13;
	      paramInt1 += 3;
	      break label90;
	      label302: localObject2.noLoss = 0;
	      localObject2.hasLotLoss = 0;
	      if ((localObject2.cardsInfo == null) || (localObject2.cardsInfo.pn - paramInt3 <= 0))
	        localObject2.noLoss = 1;
	      if ((localObject2.cardsInfo == null) || (localObject2.cardsInfo.pn - paramInt3 < 15))
	        localObject2.hasLotLoss = 1;
	      if (localObject2.cardsInfo == null);
	      for (paramInt1 = 0; ; paramInt1 = localObject2.cardsInfo.pn)
	      {
	        localObject2.pn = paramInt1;
	        paramInt1 = localObject2;
	        break;
	      }
	    }
	  }

	  private static Vector<Card> forceGetShun3(int paramInt1, int paramInt2, Vector<Card> paramVector)
	  {
	    if ((paramInt1 == 14) && (paramInt2 > 1));
	    for (Vector localVector = null; ; localVector = null)
	    {
	      return localVector;
	      int i = paramVector.size();
	      int j = paramInt2 * 3;
	      if (i >= j)
	        break;
	    }
	    int k;
	    label47: int m;
	    if (paramInt2 == 1)
	    {
	      k = 15;
	      m = paramInt1;
	    }
	    while (true)
	    {
	      if (m >= k)
	      {
	        localVector = null;
	        break;
	        k = 14;
	        break label47;
	      }
	      int[] arrayOfInt = new int[paramInt2 * 3];
	      int n = 0;
	      while (true)
	      {
	        int i1 = paramInt2 * 3 - 2;
	        if (n >= i1)
	        {
	          CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, paramVector);
	          if (localCardsAfterSpilt == null)
	            break label214;
	          localVector = localCardsAfterSpilt.spiltCards;
	          break;
	        }
	        int i2 = m + 1;
	        int i3 = n / 3;
	        int i4 = i2 - i3;
	        arrayOfInt[n] = i4;
	        int i5 = n + 1;
	        int i6 = m + 1;
	        int i7 = n / 3;
	        int i8 = i6 - i7;
	        arrayOfInt[i5] = i8;
	        int i9 = n + 2;
	        int i10 = m + 1;
	        int i11 = n / 3;
	        int i12 = i10 - i11;
	        arrayOfInt[i9] = i12;
	        n += 3;
	      }
	      label214: m += 1;
	    }
	  }

	  private static CardsAfterForce forceGetShun3WithDan(int paramInt1, int paramInt2, Vector<Card> paramVector, int paramInt3)
	  {
	    if ((paramInt1 == 14) && (paramInt2 > 1));
	    for (paramInt1 = null; ; paramInt1 = null)
	    {
	      return paramInt1;
	      int i = paramVector.size();
	      int j = paramInt2 * 4;
	      if (i >= j)
	        break;
	    }
	    Object localObject1 = null;
	    if (paramInt2 == 1);
	    int m;
	    Object localObject2;
	    for (int k = 15; ; k = 14)
	    {
	      m = paramInt1;
	      localObject2 = localObject1;
	      label57: if (m < k)
	        break label81;
	      if (localObject2 != null)
	        break label302;
	      paramInt1 = null;
	      break;
	    }
	    label81: localObject1 = new int[paramInt2 * 3];
	    paramInt1 = 0;
	    label90: int n = paramInt2 * 3 - 2;
	    if (paramInt1 >= n)
	    {
	      localObject1 = takeOutCards(localObject1, paramVector);
	      if (localObject1 == null)
	        break label2396;
	      PlayersCardsInfo localPlayersCardsInfo1 = makeCards(((CardsAfterSpilt)localObject1).leftCards);
	      paramInt1 = new CardsAfterForce();
	      Vector localVector1 = ((CardsAfterSpilt)localObject1).spiltCards;
	      paramInt1.spiltCards = localVector1;
	      Vector localVector2 = ((CardsAfterSpilt)localObject1).leftCards;
	      paramInt1.leftCards = localVector2;
	      paramInt1.cardsInfo = localPlayersCardsInfo1;
	      if (localObject2 != null)
	      {
	        int i1 = localPlayersCardsInfo1.pn;
	        int i2 = localObject2.cardsInfo.pn;
	        if (i1 >= i2)
	          break label2396;
	      }
	    }
	    label302: label314: label468: label473: label2396: for (localObject1 = paramInt1; ; localObject1 = localObject2)
	    {
	      m += 1;
	      localObject2 = localObject1;
	      break label57;
	      int i3 = m + 1;
	      int i4 = paramInt1 / 3;
	      int i5 = i3 - i4;
	      localObject1[paramInt1] = i5;
	      int i6 = paramInt1 + 1;
	      int i7 = m + 1;
	      int i8 = paramInt1 / 3;
	      int i9 = i7 - i8;
	      localObject1[i6] = i9;
	      int i10 = paramInt1 + 2;
	      int i11 = m + 1;
	      int i12 = paramInt1 / 3;
	      int i13 = i11 - i12;
	      localObject1[i10] = i13;
	      paramInt1 += 3;
	      break label90;
	      localObject1 = new Vector();
	      m = 0;
	      if (m >= paramInt2)
	      {
	        Vector localVector3 = concatCards(localObject2.spiltCards, (Vector)localObject1);
	        PlayersCardsInfo localPlayersCardsInfo2 = makeCards(localObject2.leftCards);
	        localObject2.cardsInfo = localPlayersCardsInfo2;
	        localObject2.noLoss = 0;
	        localObject2.hasLotLoss = 0;
	        if ((localObject2.cardsInfo == null) || (localObject2.cardsInfo.pn - paramInt3 <= 0))
	          localObject2.noLoss = 1;
	        if ((localObject2.cardsInfo == null) || (localObject2.cardsInfo.pn - paramInt3 < 15))
	          localObject2.hasLotLoss = 1;
	        if (localObject2.cardsInfo != null)
	          break label2384;
	      }
	      for (paramInt1 = 0; ; paramInt1 = localObject2.cardsInfo.pn)
	      {
	        localObject2.pn = paramInt1;
	        paramInt1 = localObject2;
	        break;
	        paramVector = null;
	        if (localObject2.cardsInfo.danNum > 0)
	        {
	          k = localObject2.cardsInfo.step - 1;
	          if (k >= 0);
	        }
	        else
	        {
	          if ((paramVector == null) && (localObject2.cardsInfo.duiNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label500: if (k >= 0)
	              break label915;
	          }
	          label505: if ((paramVector == null) && (localObject2.cardsInfo.shunNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1058;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1254;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.danNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1397;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.duiNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label628: if (k >= 0)
	              break label1540;
	          }
	          label633: if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1671;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun3Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1802;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun2Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1989;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shunNum > 0))
	            k = localObject2.cardsInfo.step - 1;
	        }
	        while (true)
	        {
	          if (k < 0);
	          label1254: label1397: Card localCard;
	          for (paramInt1 = paramVector; ; paramInt1 = localCard)
	          {
	            if (paramInt1 != null)
	              break label2367;
	            paramInt1 = null;
	            break;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 1) && (paramInt1.max < 15))
	            {
	              int i14 = paramInt1.max;
	              Vector localVector4 = localObject2.spiltCards;
	              if ((isAddable(i14, localVector4, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt1 = new int[1];
	                int i15 = paramInt1.max;
	                arrayOfInt1[0] = i15;
	                Vector localVector5 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt1, localVector5);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector6 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector6;
	                  break label473;
	                }
	              }
	            }
	            k += -1;
	            break label468;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 2) && (paramInt1.max < 15))
	            {
	              int i16 = paramInt1.max;
	              Vector localVector7 = localObject2.spiltCards;
	              if ((isAddable(i16, localVector7, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt2 = new int[1];
	                int i17 = paramInt1.max;
	                arrayOfInt2[0] = i17;
	                Vector localVector8 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt2, localVector8);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector9 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector9;
	                  break label505;
	                }
	              }
	            }
	            k += -1;
	            break label500;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 8) && (paramInt1.max >= 6))
	            {
	              Vector localVector10 = paramInt1.cards;
	              int i18 = paramInt1.cards.size() - 1;
	              int i19 = ((Card)localVector10.elementAt(i18)).num;
	              Vector localVector11 = localObject2.spiltCards;
	              if ((isAddable(i19, localVector11, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt3 = new int[1];
	                Vector localVector12 = paramInt1.cards;
	                int i20 = paramInt1.cards.size() - 1;
	                int i21 = ((Card)localVector12.elementAt(i20)).num;
	                arrayOfInt3[0] = i21;
	                Vector localVector13 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt3, localVector13);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector14 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector14;
	                  break label537;
	                }
	              }
	            }
	            k += -1;
	            break label532;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max < 14))
	            {
	              int i22 = paramInt1.max;
	              Vector localVector15 = localObject2.spiltCards;
	              if ((isAddable(i22, localVector15, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt4 = new int[1];
	                int i23 = paramInt1.max;
	                arrayOfInt4[0] = i23;
	                Vector localVector16 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt4, localVector16);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector17 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector17;
	                  break label569;
	                }
	              }
	            }
	            k += -1;
	            break label564;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 1) && (paramInt1.max >= 14))
	            {
	              int i24 = paramInt1.max;
	              Vector localVector18 = localObject2.spiltCards;
	              if ((isAddable(i24, localVector18, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt5 = new int[1];
	                int i25 = paramInt1.max;
	                arrayOfInt5[0] = i25;
	                Vector localVector19 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt5, localVector19);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector20 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector20;
	                  break label601;
	                }
	              }
	            }
	            k += -1;
	            break label596;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 2) && (paramInt1.max == 15))
	            {
	              Vector localVector21 = localObject2.spiltCards;
	              if ((isAddable(15, localVector21, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt6 = new int[1];
	                arrayOfInt6[0] = 15;
	                Vector localVector22 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt6, localVector22);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector23 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector23;
	                  break label633;
	                }
	              }
	            }
	            k += -1;
	            break label628;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max == 15))
	            {
	              Vector localVector24 = localObject2.spiltCards;
	              if ((isAddable(15, localVector24, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt7 = new int[1];
	                arrayOfInt7[0] = 15;
	                Vector localVector25 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt7, localVector25);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector26 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector26;
	                  break label665;
	                }
	              }
	            }
	            k += -1;
	            break label660;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if (paramInt1.type == 10)
	            {
	              Vector localVector27 = paramInt1.cards;
	              int i26 = paramInt1.cards.size() - 1;
	              int i27 = ((Card)localVector27.elementAt(i26)).num;
	              Vector localVector28 = localObject2.spiltCards;
	              if ((isAddable(i27, localVector28, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt8 = new int[1];
	                Vector localVector29 = paramInt1.cards;
	                int i28 = paramInt1.cards.size() - 1;
	                int i29 = ((Card)localVector29.elementAt(i28)).num;
	                arrayOfInt8[0] = i29;
	                Vector localVector30 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt8, localVector30);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector31 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector31;
	                  break label697;
	                }
	              }
	            }
	            k += -1;
	            break label692;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if (paramInt1.type == 9)
	            {
	              Vector localVector32 = paramInt1.cards;
	              int i30 = paramInt1.cards.size() - 1;
	              int i31 = ((Card)localVector32.elementAt(i30)).num;
	              Vector localVector33 = localObject2.spiltCards;
	              if ((isAddable(i31, localVector33, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt9 = new int[1];
	                Vector localVector34 = paramInt1.cards;
	                int i32 = paramInt1.cards.size() - 1;
	                int i33 = ((Card)localVector34.elementAt(i32)).num;
	                arrayOfInt9[0] = i33;
	                Vector localVector35 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt9, localVector35);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector36 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector36;
	                  break label729;
	                }
	              }
	            }
	            k += -1;
	            break label724;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if (paramInt1.type != 8)
	              break label2357;
	            Vector localVector37 = paramInt1.cards;
	            int i34 = paramInt1.cards.size() - 1;
	            int i35 = ((Card)localVector37.elementAt(i34)).num;
	            Vector localVector38 = localObject2.spiltCards;
	            if ((!isAddable(i35, localVector38, (Vector)localObject1)) || (paramInt1.cards.size() <= 0))
	              break label2357;
	            int[] arrayOfInt10 = new int[1];
	            Vector localVector39 = paramInt1.cards;
	            int i36 = paramInt1.cards.size() - 1;
	            int i37 = ((Card)localVector39.elementAt(i36)).num;
	            arrayOfInt10[0] = i37;
	            Vector localVector40 = localObject2.leftCards;
	            paramInt1 = takeOutCards(arrayOfInt10, localVector40);
	            if (paramInt1 == null)
	              break label2357;
	            localCard = (Card)paramInt1.spiltCards.elementAt(0);
	            Vector localVector41 = paramInt1.leftCards;
	            localObject2.leftCards = localVector41;
	          }
	          k += -1;
	        }
	        boolean bool = ((Vector)localObject1).add(paramInt1);
	        m += 1;
	        break label314;
	      }
	    }
	  }

	  private static Vector<Card> forceGetShun3WithDan(int paramInt1, int paramInt2, Vector<Card> paramVector)
	  {
	    if ((paramInt1 == 14) && (paramInt2 > 1));
	    for (paramInt1 = null; ; paramInt1 = null)
	    {
	      return paramInt1;
	      int i = paramVector.size();
	      int j = paramInt2 * 4;
	      if (i >= j)
	        break;
	    }
	    Object localObject1 = null;
	    if (paramInt2 == 1);
	    int m;
	    Object localObject2;
	    for (int k = 15; ; k = 14)
	    {
	      m = paramInt1;
	      localObject2 = localObject1;
	      label55: if (m < k)
	        break label79;
	      if (localObject2 != null)
	        break label300;
	      paramInt1 = null;
	      break;
	    }
	    label79: localObject1 = new int[paramInt2 * 3];
	    paramInt1 = 0;
	    label88: int n = paramInt2 * 3 - 2;
	    if (paramInt1 >= n)
	    {
	      localObject1 = takeOutCards(localObject1, paramVector);
	      if (localObject1 == null)
	        break label2273;
	      PlayersCardsInfo localPlayersCardsInfo = makeCards(((CardsAfterSpilt)localObject1).leftCards);
	      paramInt1 = new CardsAfterForce();
	      Vector localVector1 = ((CardsAfterSpilt)localObject1).spiltCards;
	      paramInt1.spiltCards = localVector1;
	      Vector localVector2 = ((CardsAfterSpilt)localObject1).leftCards;
	      paramInt1.leftCards = localVector2;
	      paramInt1.cardsInfo = localPlayersCardsInfo;
	      if (localObject2 != null)
	      {
	        int i1 = localPlayersCardsInfo.pn;
	        int i2 = localObject2.cardsInfo.pn;
	        if (i1 >= i2)
	          break label2273;
	      }
	    }
	    label300: label453: label458: label1878: label2273: for (localObject1 = paramInt1; ; localObject1 = localObject2)
	    {
	      m += 1;
	      localObject2 = localObject1;
	      break label55;
	      int i3 = m + 1;
	      int i4 = paramInt1 / 3;
	      int i5 = i3 - i4;
	      localObject1[paramInt1] = i5;
	      int i6 = paramInt1 + 1;
	      int i7 = m + 1;
	      int i8 = paramInt1 / 3;
	      int i9 = i7 - i8;
	      localObject1[i6] = i9;
	      int i10 = paramInt1 + 2;
	      int i11 = m + 1;
	      int i12 = paramInt1 / 3;
	      int i13 = i11 - i12;
	      localObject1[i10] = i13;
	      paramInt1 += 3;
	      break label88;
	      localObject1 = new Vector();
	      m = 0;
	      while (true)
	      {
	        if (m >= paramInt2)
	        {
	          paramInt1 = concatCards(localObject2.spiltCards, (Vector)localObject1);
	          break;
	        }
	        paramVector = null;
	        if (localObject2.cardsInfo.danNum > 0)
	        {
	          k = localObject2.cardsInfo.step - 1;
	          label357: if (k >= 0);
	        }
	        else
	        {
	          label362: if ((paramVector == null) && (localObject2.cardsInfo.duiNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label804;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shunNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label947;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1143;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.danNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label485: if (k >= 0)
	              break label1286;
	          }
	          label490: if ((paramVector == null) && (localObject2.cardsInfo.duiNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1429;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1560;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun3Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1691;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun2Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label613: if (k >= 0)
	              break label1878;
	          }
	          label618: if ((paramVector == null) && (localObject2.cardsInfo.shunNum > 0))
	            k = localObject2.cardsInfo.step - 1;
	        }
	        while (true)
	        {
	          if (k < 0);
	          label1143: Card localCard;
	          for (paramInt1 = paramVector; ; paramInt1 = localCard)
	          {
	            if (paramInt1 != null)
	              break label2256;
	            paramInt1 = null;
	            break;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 1) && (paramInt1.max < 15))
	            {
	              int i14 = paramInt1.max;
	              Vector localVector3 = localObject2.spiltCards;
	              if ((isAddable(i14, localVector3, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt1 = new int[1];
	                int i15 = paramInt1.max;
	                arrayOfInt1[0] = i15;
	                Vector localVector4 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt1, localVector4);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector5 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector5;
	                  break label362;
	                }
	              }
	            }
	            k += -1;
	            break label357;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 2) && (paramInt1.max < 15))
	            {
	              int i16 = paramInt1.max;
	              Vector localVector6 = localObject2.spiltCards;
	              if ((isAddable(i16, localVector6, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt2 = new int[1];
	                int i17 = paramInt1.max;
	                arrayOfInt2[0] = i17;
	                Vector localVector7 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt2, localVector7);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector8 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector8;
	                  break label394;
	                }
	              }
	            }
	            k += -1;
	            break label389;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 8) && (paramInt1.max >= 6))
	            {
	              Vector localVector9 = paramInt1.cards;
	              int i18 = paramInt1.cards.size() - 1;
	              int i19 = ((Card)localVector9.elementAt(i18)).num;
	              Vector localVector10 = localObject2.spiltCards;
	              if ((isAddable(i19, localVector10, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt3 = new int[1];
	                Vector localVector11 = paramInt1.cards;
	                int i20 = paramInt1.cards.size() - 1;
	                int i21 = ((Card)localVector11.elementAt(i20)).num;
	                arrayOfInt3[0] = i21;
	                Vector localVector12 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt3, localVector12);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector13 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector13;
	                  break label426;
	                }
	              }
	            }
	            k += -1;
	            break label421;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max < 14))
	            {
	              int i22 = paramInt1.max;
	              Vector localVector14 = localObject2.spiltCards;
	              if ((isAddable(i22, localVector14, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt4 = new int[1];
	                int i23 = paramInt1.max;
	                arrayOfInt4[0] = i23;
	                Vector localVector15 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt4, localVector15);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector16 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector16;
	                  break label458;
	                }
	              }
	            }
	            k += -1;
	            break label453;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 1) && (paramInt1.max >= 14))
	            {
	              int i24 = paramInt1.max;
	              Vector localVector17 = localObject2.spiltCards;
	              if ((isAddable(i24, localVector17, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt5 = new int[1];
	                int i25 = paramInt1.max;
	                arrayOfInt5[0] = i25;
	                Vector localVector18 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt5, localVector18);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector19 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector19;
	                  break label490;
	                }
	              }
	            }
	            k += -1;
	            break label485;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 2) && (paramInt1.max == 15))
	            {
	              Vector localVector20 = localObject2.spiltCards;
	              if ((isAddable(15, localVector20, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt6 = new int[1];
	                arrayOfInt6[0] = 15;
	                Vector localVector21 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt6, localVector21);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector22 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector22;
	                  break label522;
	                }
	              }
	            }
	            k += -1;
	            break label517;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max == 15))
	            {
	              Vector localVector23 = localObject2.spiltCards;
	              if ((isAddable(15, localVector23, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt7 = new int[1];
	                arrayOfInt7[0] = 15;
	                Vector localVector24 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt7, localVector24);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector25 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector25;
	                  break label554;
	                }
	              }
	            }
	            k += -1;
	            break label549;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if (paramInt1.type == 10)
	            {
	              Vector localVector26 = paramInt1.cards;
	              int i26 = paramInt1.cards.size() - 1;
	              int i27 = ((Card)localVector26.elementAt(i26)).num;
	              Vector localVector27 = localObject2.spiltCards;
	              if ((isAddable(i27, localVector27, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt8 = new int[1];
	                Vector localVector28 = paramInt1.cards;
	                int i28 = paramInt1.cards.size() - 1;
	                int i29 = ((Card)localVector28.elementAt(i28)).num;
	                arrayOfInt8[0] = i29;
	                Vector localVector29 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt8, localVector29);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector30 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector30;
	                  break label586;
	                }
	              }
	            }
	            k += -1;
	            break label581;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if (paramInt1.type == 9)
	            {
	              Vector localVector31 = paramInt1.cards;
	              int i30 = paramInt1.cards.size() - 1;
	              int i31 = ((Card)localVector31.elementAt(i30)).num;
	              Vector localVector32 = localObject2.spiltCards;
	              if ((isAddable(i31, localVector32, (Vector)localObject1)) && (paramInt1.cards.size() > 0))
	              {
	                int[] arrayOfInt9 = new int[1];
	                Vector localVector33 = paramInt1.cards;
	                int i32 = paramInt1.cards.size() - 1;
	                int i33 = ((Card)localVector33.elementAt(i32)).num;
	                arrayOfInt9[0] = i33;
	                Vector localVector34 = localObject2.leftCards;
	                paramInt1 = takeOutCards(arrayOfInt9, localVector34);
	                if (paramInt1 != null)
	                {
	                  paramVector = (Card)paramInt1.spiltCards.elementAt(0);
	                  Vector localVector35 = paramInt1.leftCards;
	                  localObject2.leftCards = localVector35;
	                  break label618;
	                }
	              }
	            }
	            k += -1;
	            break label613;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if (paramInt1.type != 8)
	              break label2246;
	            Vector localVector36 = paramInt1.cards;
	            int i34 = paramInt1.cards.size() - 1;
	            int i35 = ((Card)localVector36.elementAt(i34)).num;
	            Vector localVector37 = localObject2.spiltCards;
	            if ((!isAddable(i35, localVector37, (Vector)localObject1)) || (paramInt1.cards.size() <= 0))
	              break label2246;
	            int[] arrayOfInt10 = new int[1];
	            Vector localVector38 = paramInt1.cards;
	            int i36 = paramInt1.cards.size() - 1;
	            int i37 = ((Card)localVector38.elementAt(i36)).num;
	            arrayOfInt10[0] = i37;
	            Vector localVector39 = localObject2.leftCards;
	            paramInt1 = takeOutCards(arrayOfInt10, localVector39);
	            if (paramInt1 == null)
	              break label2246;
	            localCard = (Card)paramInt1.spiltCards.elementAt(0);
	            Vector localVector40 = paramInt1.leftCards;
	            localObject2.leftCards = localVector40;
	          }
	          k += -1;
	        }
	        boolean bool = ((Vector)localObject1).add(paramInt1);
	        m += 1;
	      }
	    }
	  }

	  private static CardsAfterForce forceGetShun3WithDui(int paramInt1, int paramInt2, Vector<Card> paramVector, int paramInt3)
	  {
	    if ((paramInt1 == 14) && (paramInt2 > 1));
	    for (paramInt1 = null; ; paramInt1 = null)
	    {
	      return paramInt1;
	      int i = paramVector.size();
	      int j = paramInt2 * 4;
	      if (i >= j)
	        break;
	    }
	    Object localObject1 = null;
	    if (paramInt2 == 1);
	    int m;
	    Object localObject2;
	    for (int k = 15; ; k = 14)
	    {
	      m = paramInt1;
	      localObject2 = localObject1;
	      label57: if (m < k)
	        break label81;
	      if (localObject2 != null)
	        break label302;
	      paramInt1 = null;
	      break;
	    }
	    label81: localObject1 = new int[paramInt2 * 3];
	    paramInt1 = 0;
	    label90: int n = paramInt2 * 3 - 2;
	    if (paramInt1 >= n)
	    {
	      localObject1 = takeOutCards(localObject1, paramVector);
	      if (localObject1 == null)
	        break label1475;
	      PlayersCardsInfo localPlayersCardsInfo1 = makeCards(((CardsAfterSpilt)localObject1).leftCards);
	      paramInt1 = new CardsAfterForce();
	      Vector localVector1 = ((CardsAfterSpilt)localObject1).spiltCards;
	      paramInt1.spiltCards = localVector1;
	      Vector localVector2 = ((CardsAfterSpilt)localObject1).leftCards;
	      paramInt1.leftCards = localVector2;
	      paramInt1.cardsInfo = localPlayersCardsInfo1;
	      if (localObject2 != null)
	      {
	        int i1 = localPlayersCardsInfo1.pn;
	        int i2 = localObject2.cardsInfo.pn;
	        if (i1 >= i2)
	          break label1475;
	      }
	    }
	    label302: label314: label1475: for (localObject1 = paramInt1; ; localObject1 = localObject2)
	    {
	      m += 1;
	      localObject2 = localObject1;
	      break label57;
	      int i3 = m + 1;
	      int i4 = paramInt1 / 3;
	      int i5 = i3 - i4;
	      localObject1[paramInt1] = i5;
	      int i6 = paramInt1 + 1;
	      int i7 = m + 1;
	      int i8 = paramInt1 / 3;
	      int i9 = i7 - i8;
	      localObject1[i6] = i9;
	      int i10 = paramInt1 + 2;
	      int i11 = m + 1;
	      int i12 = paramInt1 / 3;
	      int i13 = i11 - i12;
	      localObject1[i10] = i13;
	      paramInt1 += 3;
	      break label90;
	      localObject1 = new Vector();
	      m = 0;
	      if (m >= paramInt2)
	      {
	        Vector localVector3 = concatCards(localObject2.spiltCards, (Vector)localObject1);
	        PlayersCardsInfo localPlayersCardsInfo2 = makeCards(localObject2.leftCards);
	        localObject2.cardsInfo = localPlayersCardsInfo2;
	        localObject2.noLoss = 0;
	        localObject2.hasLotLoss = 0;
	        if ((localObject2.cardsInfo == null) || (localObject2.cardsInfo.pn - paramInt3 <= 0))
	          localObject2.noLoss = 1;
	        if ((localObject2.cardsInfo == null) || (localObject2.cardsInfo.pn - paramInt3 < 15))
	          localObject2.hasLotLoss = 1;
	        if (localObject2.cardsInfo != null)
	          break label1463;
	      }
	      for (paramInt1 = 0; ; paramInt1 = localObject2.cardsInfo.pn)
	      {
	        localObject2.pn = paramInt1;
	        paramInt1 = localObject2;
	        break;
	        paramVector = null;
	        if (localObject2.cardsInfo.duiNum > 0)
	        {
	          k = localObject2.cardsInfo.step - 1;
	          label468: if (k >= 0);
	        }
	        else
	        {
	          label473: if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label500: if (k >= 0)
	              break label767;
	          }
	          label505: if ((paramVector == null) && (localObject2.cardsInfo.shun2Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label890;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun3Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label1057;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label596: if (k >= 0)
	              break label1224;
	          }
	          label601: if ((paramVector == null) && (localObject2.cardsInfo.duiNum > 0))
	            k = localObject2.cardsInfo.step - 1;
	        }
	        while (true)
	        {
	          if (k < 0);
	          label767: Vector localVector19;
	          for (paramInt1 = paramVector; ; paramInt1 = localVector19)
	          {
	            if (paramInt1 != null)
	              break label1446;
	            paramInt1 = null;
	            break;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 2) && (paramInt1.max < 15) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt1 = new int[2];
	              int i14 = paramInt1.max;
	              arrayOfInt1[0] = i14;
	              int i15 = paramInt1.max;
	              arrayOfInt1[1] = i15;
	              Vector localVector4 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt1, localVector4);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector5 = paramInt1.leftCards;
	                localObject2.leftCards = localVector5;
	                break label473;
	              }
	            }
	            k += -1;
	            break label468;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max < 15) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt2 = new int[2];
	              int i16 = paramInt1.max;
	              arrayOfInt2[0] = i16;
	              int i17 = paramInt1.max;
	              arrayOfInt2[1] = i17;
	              Vector localVector6 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt2, localVector6);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector7 = paramInt1.leftCards;
	                localObject2.leftCards = localVector7;
	                break label505;
	              }
	            }
	            k += -1;
	            break label500;
	            label890: paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 9) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt3 = new int[2];
	              Vector localVector8 = paramInt1.cards;
	              int i18 = paramInt1.cards.size() - 1;
	              int i19 = ((Card)localVector8.elementAt(i18)).num;
	              arrayOfInt3[0] = i19;
	              Vector localVector9 = paramInt1.cards;
	              int i20 = paramInt1.cards.size() - 1;
	              int i21 = ((Card)localVector9.elementAt(i20)).num;
	              arrayOfInt3[1] = i21;
	              Vector localVector10 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt3, localVector10);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector11 = paramInt1.leftCards;
	                localObject2.leftCards = localVector11;
	                break label537;
	              }
	            }
	            k += -1;
	            break label532;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 10) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt4 = new int[2];
	              Vector localVector12 = paramInt1.cards;
	              int i22 = paramInt1.cards.size() - 1;
	              int i23 = ((Card)localVector12.elementAt(i22)).num;
	              arrayOfInt4[0] = i23;
	              Vector localVector13 = paramInt1.cards;
	              int i24 = paramInt1.cards.size() - 1;
	              int i25 = ((Card)localVector13.elementAt(i24)).num;
	              arrayOfInt4[1] = i25;
	              Vector localVector14 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt4, localVector14);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector15 = paramInt1.leftCards;
	                localObject2.leftCards = localVector15;
	                break label569;
	              }
	            }
	            k += -1;
	            break label564;
	            label1224: paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max == 15) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt5 = { 15, 15 };
	              Vector localVector16 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt5, localVector16);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector17 = paramInt1.leftCards;
	                localObject2.leftCards = localVector17;
	                break label601;
	              }
	            }
	            k += -1;
	            break label596;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type != 2) || (paramInt1.max != 15) || (paramInt1.cards.size() <= 0))
	              break label1436;
	            int[] arrayOfInt6 = { 15, 15 };
	            Vector localVector18 = localObject2.leftCards;
	            paramInt1 = takeOutCards(arrayOfInt6, localVector18);
	            if (paramInt1 == null)
	              break label1436;
	            localVector19 = paramInt1.spiltCards;
	            Vector localVector20 = paramInt1.leftCards;
	            localObject2.leftCards = localVector20;
	          }
	          k += -1;
	        }
	        Vector localVector21 = concatCards((Vector)localObject1, paramInt1);
	        m += 1;
	        break label314;
	      }
	    }
	  }

	  private static Vector<Card> forceGetShun3WithDui(int paramInt1, int paramInt2, Vector<Card> paramVector)
	  {
	    if ((paramInt1 == 14) && (paramInt2 > 1));
	    for (paramInt1 = null; ; paramInt1 = null)
	    {
	      return paramInt1;
	      int i = paramVector.size();
	      int j = paramInt2 * 4;
	      if (i >= j)
	        break;
	    }
	    Object localObject1 = null;
	    if (paramInt2 == 1);
	    int m;
	    Object localObject2;
	    for (int k = 15; ; k = 14)
	    {
	      m = paramInt1;
	      localObject2 = localObject1;
	      label55: if (m < k)
	        break label79;
	      if (localObject2 != null)
	        break label300;
	      paramInt1 = null;
	      break;
	    }
	    label79: localObject1 = new int[paramInt2 * 3];
	    paramInt1 = 0;
	    label88: int n = paramInt2 * 3 - 2;
	    if (paramInt1 >= n)
	    {
	      localObject1 = takeOutCards(localObject1, paramVector);
	      if (localObject1 == null)
	        break label1352;
	      PlayersCardsInfo localPlayersCardsInfo = makeCards(((CardsAfterSpilt)localObject1).leftCards);
	      paramInt1 = new CardsAfterForce();
	      Vector localVector1 = ((CardsAfterSpilt)localObject1).spiltCards;
	      paramInt1.spiltCards = localVector1;
	      Vector localVector2 = ((CardsAfterSpilt)localObject1).leftCards;
	      paramInt1.leftCards = localVector2;
	      paramInt1.cardsInfo = localPlayersCardsInfo;
	      if (localObject2 != null)
	      {
	        int i1 = localPlayersCardsInfo.pn;
	        int i2 = localObject2.cardsInfo.pn;
	        if (i1 >= i2)
	          break label1352;
	      }
	    }
	    label300: label453: label1352: for (localObject1 = paramInt1; ; localObject1 = localObject2)
	    {
	      m += 1;
	      localObject2 = localObject1;
	      break label55;
	      int i3 = m + 1;
	      int i4 = paramInt1 / 3;
	      int i5 = i3 - i4;
	      localObject1[paramInt1] = i5;
	      int i6 = paramInt1 + 1;
	      int i7 = m + 1;
	      int i8 = paramInt1 / 3;
	      int i9 = i7 - i8;
	      localObject1[i6] = i9;
	      int i10 = paramInt1 + 2;
	      int i11 = m + 1;
	      int i12 = paramInt1 / 3;
	      int i13 = i11 - i12;
	      localObject1[i10] = i13;
	      paramInt1 += 3;
	      break label88;
	      localObject1 = new Vector();
	      m = 0;
	      while (true)
	      {
	        if (m >= paramInt2)
	        {
	          paramInt1 = concatCards(localObject2.spiltCards, (Vector)localObject1);
	          break;
	        }
	        paramVector = null;
	        if (localObject2.cardsInfo.duiNum > 0)
	        {
	          k = localObject2.cardsInfo.step - 1;
	          label357: if (k >= 0);
	        }
	        else
	        {
	          label362: if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label656;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun2Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label779;
	          }
	          if ((paramVector == null) && (localObject2.cardsInfo.shun3Num > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            if (k >= 0)
	              break label946;
	          }
	          label458: if ((paramVector == null) && (localObject2.cardsInfo.sanNum > 0))
	          {
	            k = localObject2.cardsInfo.step - 1;
	            label485: if (k >= 0)
	              break label1113;
	          }
	          label490: if ((paramVector == null) && (localObject2.cardsInfo.duiNum > 0))
	            k = localObject2.cardsInfo.step - 1;
	        }
	        while (true)
	        {
	          if (k < 0);
	          label1113: Vector localVector18;
	          for (paramInt1 = paramVector; ; paramInt1 = localVector18)
	          {
	            if (paramInt1 != null)
	              break label1335;
	            paramInt1 = null;
	            break;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 2) && (paramInt1.max < 15) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt1 = new int[2];
	              int i14 = paramInt1.max;
	              arrayOfInt1[0] = i14;
	              int i15 = paramInt1.max;
	              arrayOfInt1[1] = i15;
	              Vector localVector3 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt1, localVector3);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector4 = paramInt1.leftCards;
	                localObject2.leftCards = localVector4;
	                break label362;
	              }
	            }
	            k += -1;
	            break label357;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max < 15) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt2 = new int[2];
	              int i16 = paramInt1.max;
	              arrayOfInt2[0] = i16;
	              int i17 = paramInt1.max;
	              arrayOfInt2[1] = i17;
	              Vector localVector5 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt2, localVector5);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector6 = paramInt1.leftCards;
	                localObject2.leftCards = localVector6;
	                break label394;
	              }
	            }
	            k += -1;
	            break label389;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 9) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt3 = new int[2];
	              Vector localVector7 = paramInt1.cards;
	              int i18 = paramInt1.cards.size() - 1;
	              int i19 = ((Card)localVector7.elementAt(i18)).num;
	              arrayOfInt3[0] = i19;
	              Vector localVector8 = paramInt1.cards;
	              int i20 = paramInt1.cards.size() - 1;
	              int i21 = ((Card)localVector8.elementAt(i20)).num;
	              arrayOfInt3[1] = i21;
	              Vector localVector9 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt3, localVector9);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector10 = paramInt1.leftCards;
	                localObject2.leftCards = localVector10;
	                break label426;
	              }
	            }
	            k += -1;
	            break label421;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 10) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt4 = new int[2];
	              Vector localVector11 = paramInt1.cards;
	              int i22 = paramInt1.cards.size() - 1;
	              int i23 = ((Card)localVector11.elementAt(i22)).num;
	              arrayOfInt4[0] = i23;
	              Vector localVector12 = paramInt1.cards;
	              int i24 = paramInt1.cards.size() - 1;
	              int i25 = ((Card)localVector12.elementAt(i24)).num;
	              arrayOfInt4[1] = i25;
	              Vector localVector13 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt4, localVector13);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector14 = paramInt1.leftCards;
	                localObject2.leftCards = localVector14;
	                break label458;
	              }
	            }
	            k += -1;
	            break label453;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type == 3) && (paramInt1.max == 15) && (paramInt1.cards.size() > 0))
	            {
	              int[] arrayOfInt5 = { 15, 15 };
	              Vector localVector15 = localObject2.leftCards;
	              paramInt1 = takeOutCards(arrayOfInt5, localVector15);
	              if (paramInt1 != null)
	              {
	                paramVector = paramInt1.spiltCards;
	                Vector localVector16 = paramInt1.leftCards;
	                localObject2.leftCards = localVector16;
	                break label490;
	              }
	            }
	            k += -1;
	            break label485;
	            paramInt1 = (CardsType)localObject2.cardsInfo.cardsTV.elementAt(k);
	            if ((paramInt1.type != 2) || (paramInt1.max != 15) || (paramInt1.cards.size() <= 0))
	              break label1325;
	            int[] arrayOfInt6 = { 15, 15 };
	            Vector localVector17 = localObject2.leftCards;
	            paramInt1 = takeOutCards(arrayOfInt6, localVector17);
	            if (paramInt1 == null)
	              break label1325;
	            localVector18 = paramInt1.spiltCards;
	            Vector localVector19 = paramInt1.leftCards;
	            localObject2.leftCards = localVector19;
	          }
	          k += -1;
	        }
	        Vector localVector20 = concatCards((Vector)localObject1, paramInt1);
	        m += 1;
	      }
	    }
	  }

	  public static CardsAllKind getAllCardsKind(Vector<Card> paramVector)
	  {
	    CardsAllKind localCardsAllKind = new CardsAllKind();
	    if ((paramVector == null) || (paramVector.size() == 0))
	    {
	      paramVector = null;
	      return paramVector;
	    }
	    int i = paramVector.size();
	    Vector localVector = sortByBigOrSmall(paramVector);
	    if ((i > 1) && (((Card)localVector.elementAt(0)).num == 17) && (((Card)localVector.elementAt(1)).num == 16))
	      localCardsAllKind.huo = 1;
	    Vector<Card> localVector1 = 0;
	    int m;
	    Vector<Card> localVector8;
	    label103: int i2;
	    while (true)
	    {
	      label118: Vector<Card> localVector2;
	      if (localVector1 >= i)
	      {
	        m = 0;
	        int n = i - 1;
	        if (m < n)
	          break label313;
	        localVector8 = 0;
	        Vector<Card> localVector12 = i - 2;
	        if (localVector8 < localVector12)
	          break label460;
	        i2 = 0;
	        int i3 = i - 3;
	        if (i2 < i3)
	          break label641;
	        paramVector = localCardsAllKind.dan.size();
	        localVector1 = 0;
	        if (localVector1 < paramVector)
	          break label860;
	        label149: paramVector = localCardsAllKind.dui.size();
	        localVector2 = 0;
	        if (localVector2 < paramVector)
	          break label1141;
	        label168: localVector8 = localCardsAllKind.san.size();
	        paramVector = 0;
	        if (paramVector < localVector8)
	          break label1427;
	        label187: paramVector = localCardsAllKind;
	        break;
	      }
	      paramVector = (Card)localVector.elementAt(localVector2);
	      if (localCardsAllKind.dan.size() != 0)
	      {
	        int i4 = paramVector.num;
	        List localList1 = localCardsAllKind.dan;
	        int i5 = localCardsAllKind.dan.size() - 1;
	        int i6 = ((Integer)localList1.get(i5)).intValue();
	        if (i4 == i6);
	      }
	      else if ((!localCardsAllKind.huo) || (paramVector.suit != 4))
	      {
	        List localList2 = localCardsAllKind.dan;
	        Integer localInteger1 = Integer.valueOf(paramVector.num);
	        boolean bool1 = localList2.add(localInteger1);
	      }
	      int j;
	      localVector2 += 1;
	    }
	    label313: paramVector = (Card)localVector.elementAt(m);
	    int i7 = m + 1;
	    Card localCard4 = (Card)localVector.elementAt(i7);
	    int i8 = paramVector.num;
	    int i9 = localCard4.num;
	    if (i8 == i9)
	      if (localCardsAllKind.dui.size() != 0)
	      {
	        int i10 = paramVector.num;
	        List localList3 = localCardsAllKind.dui;
	        int i11 = localCardsAllKind.dui.size() - 1;
	        int i12 = ((Integer)localList3.get(i11)).intValue();
	        if (i10 == i12);
	      }
	      else
	      {
	        List localList4 = localCardsAllKind.dui;
	        Integer localInteger2 = Integer.valueOf(paramVector.num);
	        boolean bool2 = localList4.add(localInteger2);
	      }
	    label460: label860: label1139: label1141: Vector<Card> localVector7;
	    for (paramVector = m + 1; ; paramVector = localVector7)
	    {
	      m = paramVector + 1;
	      break;
	      paramVector = (Card)localVector.elementAt(localVector8);
	      int i13 = localVector8 + 1;
	      Card localCard1 = (Card)localVector.elementAt(i13);
	      int i14 = localVector8 + 2;
	      Card localCard2 = (Card)localVector.elementAt(i14);
	      int i15 = paramVector.num;
	      int i16 = localCard1.num;
	      if (i15 == i16)
	      {
	        int i17 = localCard1.num;
	        int i18 = localCard2.num;
	        if (i17 == i18)
	          if (localCardsAllKind.san.size() != 0)
	          {
	            int i19 = paramVector.num;
	            List localList5 = localCardsAllKind.san;
	            int i20 = localCardsAllKind.san.size() - 1;
	            int i21 = ((Integer)localList5.get(i20)).intValue();
	            if (i19 == i21);
	          }
	          else
	          {
	            List localList6 = localCardsAllKind.san;
	            Integer localInteger3 = Integer.valueOf(paramVector.num);
	            boolean bool3 = localList6.add(localInteger3);
	          }
	      }
	      int i1;
	      localVector8 += 1;
	      break label103;
	      label641: paramVector = (Card)localVector.elementAt(i2);
	      int i22 = i2 + 1;
	      localCard1 = (Card)localVector.elementAt(i22);
	      int i23 = i2 + 2;
	      localCard2 = (Card)localVector.elementAt(i23);
	      int i24 = i2 + 3;
	      Card localCard3 = (Card)localVector.elementAt(i24);
	      int i25 = paramVector.num;
	      int i26 = localCard1.num;
	      if (i25 == i26)
	      {
	        int i27 = localCard1.num;
	        int i28 = localCard2.num;
	        if (i27 == i28)
	        {
	          int i29 = localCard2.num;
	          int i30 = localCard3.num;
	          if (i29 == i30)
	            if (localCardsAllKind.siz.size() != 0)
	            {
	              int i31 = paramVector.num;
	              List localList7 = localCardsAllKind.siz;
	              int i32 = localCardsAllKind.siz.size() - 1;
	              int i33 = ((Integer)localList7.get(i32)).intValue();
	              if (i31 == i33);
	            }
	            else
	            {
	              List localList8 = localCardsAllKind.siz;
	              Integer localInteger4 = Integer.valueOf(paramVector.num);
	              boolean bool4 = localList8.add(localInteger4);
	            }
	        }
	      }
	      i2 += 1;
	      break label118;
	      if (((Integer)localCardsAllKind.dan.get(localCard1)).intValue() > 14);
	      Vector<Card> localVector3;
	      Vector<Card> localVector10;
	      Vector<Card> localVector5;
	      while (true)
	      {
	        localCard1 += 1;
	        break;
	        if (((Integer)localCardsAllKind.dan.get(localVector3)).intValue() < 7)
	          break label149;
	        localCard2 = localVector3;
	        while (true)
	        {
	          if (localCard2 >= paramVector)
	            break label1139;
	          Vector<Card> localVector9 = localCard2 + 1;
	          if (localVector9 != paramVector)
	          {
	            int i34 = ((Integer)localCardsAllKind.dan.get(localVector3)).intValue();
	            int i35 = ((Integer)localCardsAllKind.dan.get(localVector9)).intValue();
	            int i36 = i34 - i35;
	            int i37 = localVector9 - localVector3;
	            if (i36 == i37);
	          }
	          else
	          {
	            localVector9 -= localVector3;
	            if (localVector10 > 4)
	            {
	              Shun localShun1 = new Shun();
	              int i38 = ((Integer)localCardsAllKind.dan.get(localVector3)).intValue();
	              localShun1.max = i38;
	              int i39 = ((Integer)localCardsAllKind.dan.get(localCard2)).intValue();
	              localShun1.min = i39;
	              localShun1.length = localVector10;
	              localShun1.cardsNum = localVector10;
	              int i40 = localShun1.max;
	              int i41 = localShun1.min;
	              List localList9 = getShun1List(i40, i41);
	              localShun1.shunList = localList9;
	              boolean bool5 = localCardsAllKind.shun.add(localShun1);
	            }
	            localVector3 = localCard2;
	            break;
	          }
	          localCard2 += 1;
	        }
	      }
	      if (((Integer)localCardsAllKind.dui.get(localVector3)).intValue() > 14);
	      Vector<Card> localVector11;
	      Vector<Card> localVector6;
	      label1425: 
	      while (true)
	      {
	        localVector3 += 1;
	        break;
	        if (((Integer)localCardsAllKind.dui.get(localVector3)).intValue() < 5)
	          break label168;
	        localVector5 = localVector3;
	        while (true)
	        {
	          if (localVector5 >= paramVector)
	            break label1425;
	          localVector10 = localVector5 + 1;
	          if (localVector10 != paramVector)
	          {
	            int i42 = ((Integer)localCardsAllKind.dui.get(localVector3)).intValue();
	            int i43 = ((Integer)localCardsAllKind.dui.get(localVector10)).intValue();
	            int i44 = i42 - i43;
	            int i45 = localVector10 - localVector3;
	            if (i44 == i45);
	          }
	          else
	          {
	            localVector10 -= localVector3;
	            if (localVector11 > 2)
	            {
	              Shun localShun2 = new Shun();
	              int i46 = ((Integer)localCardsAllKind.dui.get(localVector3)).intValue();
	              localShun2.max = i46;
	              int i47 = ((Integer)localCardsAllKind.dui.get(localVector5)).intValue();
	              localShun2.min = i47;
	              localShun2.length = localVector11;
	              int i48 = localVector11 * 2;
	              localShun2.cardsNum = i48;
	              int i49 = localShun2.max;
	              int i50 = localShun2.min;
	              List localList10 = getShun2List(i49, i50);
	              localShun2.shunList = localList10;
	              boolean bool6 = localCardsAllKind.shun2.add(localShun2);
	            }
	            localVector3 = localVector5;
	            break;
	          }
	          localVector5 += 1;
	        }
	      }
	      label1427: if (((Integer)localCardsAllKind.san.get(paramVector)).intValue() > 14);
	      label1703: 
	      while (true)
	      {
	        paramVector += 1;
	        break;
	        if (((Integer)localCardsAllKind.san.get(paramVector)).intValue() < 4)
	          break label187;
	        Vector<Card> localVector4 = paramVector;
	        while (true)
	        {
	          if (localVector4 >= localVector11)
	            break label1703;
	          localVector6 = localVector4 + 1;
	          if (localVector6 != localVector11)
	          {
	            int i51 = ((Integer)localCardsAllKind.san.get(paramVector)).intValue();
	            int i52 = ((Integer)localCardsAllKind.san.get(localVector6)).intValue();
	            int i53 = i51 - i52;
	            int i54 = localVector6 - paramVector;
	            if (i53 == i54);
	          }
	          else
	          {
	            localVector6 -= paramVector;
	            if (localVector7 > 1)
	            {
	              Shun localShun3 = new Shun();
	              int i55 = ((Integer)localCardsAllKind.dui.get(paramVector)).intValue();
	              localShun3.max = i55;
	              int i56 = ((Integer)localCardsAllKind.dui.get(localVector4)).intValue();
	              localShun3.min = i56;
	              localShun3.length = localVector7;
	              int i57 = localVector7 * 3;
	              localShun3.cardsNum = i57;
	              int i58 = localShun3.max;
	              int i59 = localShun3.min;
	              List localList11 = getShun3List(i58, i59);
	              localShun3.shunList = localList11;
	              boolean bool7 = localCardsAllKind.shun3.add(localShun3);
	            }
	            paramVector = localVector4;
	            break;
	          }
	          int k;
	          localVector4 += 1;
	        }
	      }
	    }
	  }

	  private static Vector<CardsType> getAllLeftType(CardsAfterMake paramCardsAfterMake)
	  {
	    Vector localVector1 = cloneCards(paramCardsAfterMake.leftCards);
	    Vector localVector2 = cloneCardsTypes(paramCardsAfterMake.spiltCards);
	    Vector localVector4;
	    if ((localVector1 == null) || (localVector1.size() == 0))
	    {
	      Vector localVector3 = localVector1;
	      localVector4 = localVector2;
	    }
	    int m;
	    int n;
	    Object localObject3;
	    label94: int k;
	    Object localObject1;
	    while (true)
	    {
	      return localVector4;
	      paramCardsAfterMake = getAllCardsKind(localVector1);
	      m = paramCardsAfterMake.san.size();
	      n = 0;
	      localObject3 = localVector1;
	      if (n >= m)
	      {
	        n = paramCardsAfterMake.dui.size();
	        m = 0;
	        if (m >= n)
	        {
	          n = ((Vector)localObject3).size();
	          int i = 0;
	          if (i < n)
	            break label370;
	          Object localObject4 = localObject3;
	          localVector4 = localVector2;
	          continue;
	        }
	      }
	      else
	      {
	        k = ((Integer)paramCardsAfterMake.san.get(n)).intValue();
	        if (k != 15)
	          break;
	        localObject1 = localObject3;
	      }
	    }
	    while (true)
	    {
	      n += 1;
	      localObject3 = localObject1;
	      break;
	      int[] arrayOfInt1 = new int[3];
	      arrayOfInt1[0] = k;
	      arrayOfInt1[1] = k;
	      arrayOfInt1[2] = k;
	      localObject1 = takeOutCards(arrayOfInt1, (Vector)localObject3);
	      if (localObject1 != null)
	      {
	        CardsType localCardsType1 = new CardsType();
	        Vector localVector5 = ((CardsAfterSpilt)localObject1).spiltCards;
	        localCardsType1.cards = localVector5;
	        localCardsType1.type = 3;
	        localCardsType1.max = k;
	        localCardsType1.length = 3;
	        boolean bool1 = localVector2.add(localCardsType1);
	        localObject1 = ((CardsAfterSpilt)localObject1).leftCards;
	        continue;
	        k = ((Integer)paramCardsAfterMake.dui.get(m)).intValue();
	        if (k == 15)
	          localObject1 = localObject3;
	        while (true)
	        {
	          m += 1;
	          localObject3 = localObject1;
	          break;
	          int[] arrayOfInt2 = new int[2];
	          arrayOfInt2[0] = k;
	          arrayOfInt2[1] = k;
	          localObject1 = takeOutCards(arrayOfInt2, (Vector)localObject3);
	          if (localObject1 != null)
	          {
	            CardsType localCardsType2 = new CardsType();
	            Vector localVector6 = ((CardsAfterSpilt)localObject1).spiltCards;
	            localCardsType2.cards = localVector6;
	            localCardsType2.type = 2;
	            localCardsType2.max = k;
	            localCardsType2.length = 2;
	            boolean bool2 = localVector2.add(localCardsType2);
	            localObject1 = ((CardsAfterSpilt)localObject1).leftCards;
	            continue;
	            label370: Vector localVector7 = new Vector();
	            Card localCard = (Card)((Vector)localObject3).get(localObject1);
	            boolean bool3 = localVector7.add(localCard);
	            CardsType localCardsType3 = new CardsType();
	            localCardsType3.cards = localVector7;
	            localCardsType3.type = 1;
	            int i1 = ((Card)((Vector)localObject3).get(localObject1)).num;
	            localCardsType3.max = i1;
	            localCardsType3.length = 1;
	            boolean bool4 = localVector2.add(localCardsType3);
	            int j;
	            localObject1 += 1;
	            break label94;
	          }
	          localObject2 = localObject3;
	        }
	      }
	      Object localObject2 = localObject3;
	    }
	  }

	  private static Vector<Vector<CardsType>> getAllPattern(CardsAfterMake paramCardsAfterMake)
	  {
	    Vector localVector1 = new Vector();
	    Vector localVector2 = getAllLeftType(paramCardsAfterMake);
	    boolean bool1 = localVector1.add(localVector2);
	    Vector localVector3 = getAllShun(paramCardsAfterMake);
	    int i;
	    int j;
	    if (localVector3 != null)
	    {
	      i = localVector3.size();
	      j = 0;
	    }
	    while (true)
	    {
	      if (j >= i)
	        return localVector1;
	      Vector localVector4 = getAllLeftType((CardsAfterMake)localVector3.elementAt(j));
	      boolean bool2 = localVector1.add(localVector4);
	      j += 1;
	    }
	  }

	  private static Vector<CardsAfterMake> getAllShun(CardsAfterMake paramCardsAfterMake)
	  {
	    Object localObject;
	    if (paramCardsAfterMake.leftCards.size() < 5)
	      localObject = null;
	    while (true)
	    {
	      return localObject;
	      Vector localVector1 = new Vector();
	      Vector localVector2 = getAllShunLeft(paramCardsAfterMake);
	      int j;
	      label48: Vector localVector4;
	      label84: Vector localVector6;
	      int m;
	      if (localVector2 != null)
	      {
	        Vector localVector3 = concatCardsAfterMake(localVector1, localVector2);
	        int i = localVector2.size();
	        j = 0;
	        if (j < i);
	      }
	      else
	      {
	        localVector4 = getAllShun2Left(paramCardsAfterMake);
	        if (localVector4 != null)
	        {
	          Vector localVector5 = concatCardsAfterMake(localVector1, localVector4);
	          int k = localVector4.size();
	          j = 0;
	          if (j < k)
	            break label175;
	        }
	        localVector6 = getAllShun3Left(paramCardsAfterMake);
	        if (localVector6 != null)
	        {
	          Vector localVector7 = concatCardsAfterMake(localVector1, localVector6);
	          m = localVector6.size();
	          j = 0;
	        }
	      }
	      while (true)
	      {
	        if (j >= m)
	        {
	          if (localVector1.size() != 0)
	            break label249;
	          localObject = null;
	          break;
	          localVector8 = getAllShun((CardsAfterMake)localVector2.elementAt(j));
	          if (localVector8 != null)
	            Vector localVector9 = concatCardsAfterMake(localVector1, localVector8);
	          j += 1;
	          break label48;
	          label175: localVector8 = getAllShun((CardsAfterMake)localVector4.elementAt(j));
	          if (localVector8 != null)
	            Vector localVector10 = concatCardsAfterMake(localVector1, localVector8);
	          j += 1;
	          break label84;
	        }
	        Vector localVector8 = getAllShun((CardsAfterMake)localVector6.elementAt(j));
	        if (localVector8 != null)
	          Vector localVector11 = concatCardsAfterMake(localVector1, localVector8);
	        j += 1;
	      }
	      label249: localObject = localVector1;
	    }
	  }

	  private static Vector<CardsAfterMake> getAllShun2Left(CardsAfterMake paramCardsAfterMake)
	  {
	    Object localObject;
	    if (paramCardsAfterMake.leftCards.size() < 6)
	      localObject = null;
	    while (true)
	    {
	      return localObject;
	      Vector localVector1 = new Vector();
	      Vector localVector2 = takeOutShun2(paramCardsAfterMake);
	      int i;
	      int j;
	      if (localVector2 != null)
	      {
	        Vector localVector3 = concatCardsAfterMake(localVector1, localVector2);
	        i = localVector2.size();
	        j = 0;
	      }
	      while (true)
	      {
	        if (j >= i)
	        {
	          if (localVector1.size() != 0)
	            break label104;
	          localObject = null;
	          break;
	        }
	        Vector localVector4 = getAllShunLeft((CardsAfterMake)localVector2.elementAt(j));
	        if (localVector4 != null)
	          Vector localVector5 = concatCardsAfterMake(localVector1, localVector4);
	        j += 1;
	      }
	      label104: localObject = localVector1;
	    }
	  }

	  private static Vector<CardsAfterMake> getAllShun3Left(CardsAfterMake paramCardsAfterMake)
	  {
	    Object localObject;
	    if (paramCardsAfterMake.leftCards.size() < 6)
	      localObject = null;
	    while (true)
	    {
	      return localObject;
	      Vector localVector1 = new Vector();
	      Vector localVector2 = takeOutShun3(paramCardsAfterMake);
	      int i;
	      int j;
	      if (localVector2 != null)
	      {
	        Vector localVector3 = concatCardsAfterMake(localVector1, localVector2);
	        i = localVector2.size();
	        j = 0;
	      }
	      while (true)
	      {
	        if (j >= i)
	        {
	          if (localVector1.size() != 0)
	            break label104;
	          localObject = null;
	          break;
	        }
	        Vector localVector4 = getAllShun3Left((CardsAfterMake)localVector2.elementAt(j));
	        if (localVector4 != null)
	          Vector localVector5 = concatCardsAfterMake(localVector1, localVector4);
	        j += 1;
	      }
	      label104: localObject = localVector1;
	    }
	  }

	  private static Vector<CardsAfterMake> getAllShunLeft(CardsAfterMake paramCardsAfterMake)
	  {
	    Object localObject;
	    if (paramCardsAfterMake.leftCards.size() < 5)
	      localObject = null;
	    while (true)
	    {
	      return localObject;
	      Vector localVector1 = new Vector();
	      Vector localVector2 = takeOutShun(paramCardsAfterMake);
	      int i;
	      int j;
	      if (localVector2 != null)
	      {
	        Vector localVector3 = concatCardsAfterMake(localVector1, localVector2);
	        i = localVector2.size();
	        j = 0;
	      }
	      while (true)
	      {
	        if (j >= i)
	        {
	          if (localVector1.size() != 0)
	            break label103;
	          localObject = null;
	          break;
	        }
	        Vector localVector4 = getAllShunLeft((CardsAfterMake)localVector2.elementAt(j));
	        if (localVector4 != null)
	          Vector localVector5 = concatCardsAfterMake(localVector1, localVector4);
	        j += 1;
	      }
	      label103: localObject = localVector1;
	    }
	  }

	  public static int getCardsPn(Vector<Card> paramVector)
	  {
	    Card localCard1 = null;
	    Vector localVector1 = sortByBigOrSmall(paramVector);
	    Vector localVector2 = sortByFaceAndSuit(paramVector);
	    int i = localVector2.size();
	    Card localCard2;
	    if ((((Card)localVector1.elementAt(0)).num == 17) && (((Card)localVector1.elementAt(1)).num == 16))
	      localCard2 = 0 + 8;
	    while (true)
	    {
	      Vector<Card> localVector = 0;
	      Card localCard5 = localCard2;
	      int j = i - 3;
	      if (localVector >= j)
	      {
	        localCard2 = 0;
	        localCard1 = localCard5;
	        if (localCard2 >= i)
	        {
	          if (localCard1 < 9)
	            break label379;
	          paramVector = 3;
	          label93: return paramVector;
	          if (((Card)localCard2.elementAt(0)).num == 17)
	          {
	            localCard2 = 0 + 4;
	            continue;
	          }
	          if (((Card)localCard2.elementAt(0)).num != 16)
	            break label414;
	          localCard2 = 0 + 3;
	          continue;
	        }
	      }
	      else
	      {
	        paramVector = (Card)localVector2.elementAt(localVector);
	        int k = localVector + 1;
	        Card localCard3 = (Card)localVector2.elementAt(k);
	        int m = localVector + 2;
	        localCard1 = (Card)localVector2.elementAt(m);
	        int n = localVector + 3;
	        Card localCard6 = (Card)localVector2.elementAt(n);
	        int i1 = paramVector.num;
	        int i2 = localCard3.num;
	        if (i1 != i2)
	          break label405;
	        int i3 = localCard3.num;
	        int i4 = localCard1.num;
	        if (i3 != i4)
	          break label405;
	        int i5 = localCard1.num;
	        int i6 = localCard6.num;
	        if (i5 != i6)
	          break label405;
	        if (paramVector.num == 15)
	        {
	          localCard4 = localCard5 + 0;
	          label272: paramVector = localVector + 3;
	        }
	      }
	      while (true)
	      {
	        localVector = paramVector + 1;
	        localCard5 = localCard4;
	        break;
	        if (paramVector.num == 14)
	        {
	          localCard4 = localCard5 + 3;
	          break label272;
	        }
	        if (paramVector.num == 13)
	        {
	          localCard4 = localCard5 + 7;
	          break label272;
	        }
	        localCard4 = localCard5 + 6;
	        break label272;
	        paramVector = (Card)localVector2.elementAt(localCard4);
	        if (paramVector.num == 15)
	          int i7 = localCard1 + 2;
	        while (true)
	        {
	          localCard4 += 1;
	          break;
	          if (paramVector.num != 14)
	            continue;
	          int i8 = localCard1 + 1;
	        }
	        label379: if (localCard1 >= 7)
	        {
	          paramVector = 2;
	          break label93;
	        }
	        if (localCard1 >= 5)
	        {
	          paramVector = 1;
	          break label93;
	        }
	        paramVector = 0;
	        break label93;
	        label405: paramVector = localVector;
	        localCard4 = localCard5;
	      }
	      label414: Card localCard4 = 0;
	    }
	  }

	  public static Vector<Card> getDan(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.danNum > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label71;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 1)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label71: localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  public static Vector<Card> getDanByNum(PlayersCardsInfo paramPlayersCardsInfo, int paramInt)
	  {
	    int i = paramPlayersCardsInfo.step;
	    Vector localVector1 = new Vector();
	    int j = i - 1;
	    while (true)
	    {
	      if (j < 0);
	      do
	      {
	        return sortByBigOrSmall(localVector1);
	        CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	        if ((localCardsType.type != 1) || (localCardsType.max > 13))
	          break;
	        Vector localVector2 = localCardsType.cards;
	        Vector localVector3 = concatCards(localVector1, localVector2);
	      }
	      while (0 + 1 == paramInt);
	      j += -1;
	    }
	  }

	  public static Vector<Card> getDanOrDui(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = getDan(paramPlayersCardsInfo);
	    Vector localVector2 = getDui(paramPlayersCardsInfo);
	    Vector localVector3;
	    if ((localVector1 != null) && (localVector2 != null))
	    {
	      int i = ((Card)localVector1.elementAt(0)).num - 1;
	      int j = ((Card)localVector2.elementAt(0)).num;
	      if (i <= j)
	        localVector3 = localVector1;
	    }
	    while (true)
	    {
	      return localVector3;
	      localVector3 = localVector2;
	      continue;
	      if (localVector1 != null)
	      {
	        localVector3 = localVector1;
	        continue;
	      }
	      if (localVector2 != null)
	      {
	        localVector3 = localVector2;
	        continue;
	      }
	      localVector3 = null;
	    }
	  }

	  public static Vector<Card> getDui(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.duiNum > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label71;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 2)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label71: localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  public static Vector<Card> getDuiByNum(PlayersCardsInfo paramPlayersCardsInfo, int paramInt)
	  {
	    int i = paramPlayersCardsInfo.step;
	    Vector localVector1 = new Vector();
	    int j = i - 1;
	    while (true)
	    {
	      if (j < 0);
	      do
	      {
	        return sortByBigOrSmall(localVector1);
	        CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	        if ((localCardsType.type != 2) || (localCardsType.max > 13))
	          break;
	        Vector localVector2 = localCardsType.cards;
	        Vector localVector3 = concatCards(localVector1, localVector2);
	      }
	      while (0 + 1 == paramInt);
	      j += -1;
	    }
	  }

	  public static Vector<Card> getFeiji(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    int i = paramPlayersCardsInfo.step;
	    Vector localVector1;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.shun3Num > 0)
	    {
	      localVector1 = null;
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label72;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 10)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label72: int k = localVector1.size() / 3;
	      Vector localVector3 = getDanByNum(paramPlayersCardsInfo, k);
	      if (localVector3.size() == k)
	      {
	        localVector2 = concatCards(cloneCards(localVector1), localVector3);
	        continue;
	      }
	      Vector localVector4 = getDuiByNum(paramPlayersCardsInfo, k);
	      int m = localVector4.size();
	      int n = k * 2;
	      if (m == n)
	      {
	        localVector2 = concatCards(cloneCards(localVector1), localVector4);
	        continue;
	      }
	      if (k == 5)
	      {
	        int i1 = localVector3.size() * 2;
	        int i2 = localVector4.size();
	        if (i1 > i2)
	        {
	          if (localVector3.size() == 4)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 3), localVector3);
	            continue;
	          }
	          if (localVector3.size() == 3)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 6), localVector3);
	            continue;
	          }
	          if (localVector3.size() == 2)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 9), localVector3);
	            continue;
	          }
	        }
	        else
	        {
	          if (localVector4.size() == 8)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 3), localVector4);
	            continue;
	          }
	          if (localVector4.size() == 6)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 6), localVector4);
	            continue;
	          }
	          if (localVector4.size() == 4)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 9), localVector4);
	            continue;
	          }
	        }
	      }
	      else if (k == 4)
	      {
	        int i3 = localVector3.size() * 2;
	        int i4 = localVector4.size();
	        if (i3 > i4)
	        {
	          if (localVector3.size() == 3)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 3), localVector3);
	            continue;
	          }
	          if (localVector3.size() == 2)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 6), localVector3);
	            continue;
	          }
	        }
	        else
	        {
	          if (localVector4.size() == 6)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 3), localVector4);
	            continue;
	          }
	          if (localVector4.size() == 4)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 6), localVector4);
	            continue;
	          }
	        }
	      }
	      else if (k == 3)
	      {
	        int i5 = localVector3.size() * 2;
	        int i6 = localVector4.size();
	        if (i5 > i6)
	        {
	          if (localVector3.size() == 2)
	          {
	            localVector2 = concatCards(sliceCards(localVector1, 3), localVector3);
	            continue;
	          }
	        }
	        else if (localVector4.size() == 4)
	        {
	          localVector2 = concatCards(sliceCards(localVector1, 3), localVector4);
	          continue;
	        }
	      }
	      else if ((k == 2) && (localVector3.size() == 1) && (localVector4.size() == 2))
	      {
	        Vector localVector5 = sliceCards(localVector4, 1);
	        Vector localVector6 = concatCards(localVector3, localVector5);
	        Vector localVector7 = sortByBigOrSmall(localVector3);
	        localVector2 = concatCards(cloneCards(localVector1), localVector7);
	        continue;
	      }
	      localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  public static Vector<Card> getHuo(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.huoNum > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label72;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 14)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label72: localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  public static Vector<Card> getSan(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.sanNum > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label71;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 3)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label71: Vector localVector3 = getDanByNum(paramPlayersCardsInfo, 1);
	      Vector localVector4 = getDuiByNum(paramPlayersCardsInfo, 1);
	      if ((localVector3.size() == 1) && (localVector4.size() == 2))
	      {
	        int k = ((Card)localVector3.elementAt(0)).num - 1;
	        int m = ((Card)localVector4.elementAt(0)).num;
	        if (k <= m)
	        {
	          localVector2 = concatCards(cloneCards(localVector1), localVector3);
	          continue;
	        }
	        localVector2 = concatCards(cloneCards(localVector1), localVector4);
	        continue;
	      }
	      if ((localVector3.size() == 1) && (localVector4.size() != 2))
	      {
	        localVector2 = concatCards(cloneCards(localVector1), localVector3);
	        continue;
	      }
	      if ((localVector3.size() != 1) && (localVector4.size() == 2))
	      {
	        localVector2 = concatCards(cloneCards(localVector1), localVector4);
	        continue;
	      }
	      localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  public static Vector<Card> getShun(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.shunNum > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label72;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 8)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label72: localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  private static List<List<Integer>> getShun1List(int paramInt1, int paramInt2)
	  {
	    ArrayList localArrayList1 = new ArrayList();
	    ArrayList localArrayList2 = new ArrayList();
	    int i = paramInt1;
	    int j;
	    while (true)
	    {
	      if (i < paramInt2)
	      {
	        j = localArrayList1.size();
	        i = j;
	        if (i >= 5)
	          break;
	        return localArrayList2;
	      }
	      Integer localInteger = Integer.valueOf(i);
	      boolean bool1 = localArrayList1.add(localInteger);
	      i += -1;
	    }
	    int k = 0;
	    while (true)
	    {
	      int m = j - i;
	      if (k > m)
	      {
	        i += -1;
	        break;
	      }
	      int n = k + i;
	      List localList = localArrayList1.subList(k, n);
	      boolean bool2 = localArrayList2.add(localList);
	      k += 1;
	    }
	  }

	  public static Vector<Card> getShun2(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.shun2Num > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label72;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 9)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label72: localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  private static List<List<Integer>> getShun2List(int paramInt1, int paramInt2)
	  {
	    ArrayList localArrayList1 = new ArrayList();
	    ArrayList localArrayList2 = new ArrayList();
	    int i = paramInt1;
	    int j;
	    while (true)
	    {
	      if (i < paramInt2)
	      {
	        j = localArrayList1.size() / 2;
	        i = j;
	        if (i >= 3)
	          break;
	        return localArrayList2;
	      }
	      Integer localInteger1 = Integer.valueOf(i);
	      boolean bool1 = localArrayList1.add(localInteger1);
	      Integer localInteger2 = Integer.valueOf(i);
	      boolean bool2 = localArrayList1.add(localInteger2);
	      i += -1;
	    }
	    int k = 0;
	    while (true)
	    {
	      int m = j - i;
	      if (k > m)
	      {
	        i += -1;
	        break;
	      }
	      int n = k * 2;
	      int i1 = (k + i) * 2;
	      List localList = localArrayList1.subList(n, i1);
	      boolean bool3 = localArrayList2.add(localList);
	      k += 1;
	    }
	  }

	  private static List<List<Integer>> getShun3List(int paramInt1, int paramInt2)
	  {
	    ArrayList localArrayList1 = new ArrayList();
	    ArrayList localArrayList2 = new ArrayList();
	    int i = paramInt1;
	    int j;
	    while (true)
	    {
	      if (i < paramInt2)
	      {
	        j = localArrayList1.size() / 3;
	        i = j;
	        if (i >= 2)
	          break;
	        return localArrayList2;
	      }
	      Integer localInteger1 = Integer.valueOf(i);
	      boolean bool1 = localArrayList1.add(localInteger1);
	      Integer localInteger2 = Integer.valueOf(i);
	      boolean bool2 = localArrayList1.add(localInteger2);
	      Integer localInteger3 = Integer.valueOf(i);
	      boolean bool3 = localArrayList1.add(localInteger3);
	      i += -1;
	    }
	    int k = 0;
	    while (true)
	    {
	      int m = j - i;
	      if (k > m)
	      {
	        i += -1;
	        break;
	      }
	      int n = k * 3;
	      int i1 = (k + i) * 3;
	      List localList = localArrayList1.subList(n, i1);
	      boolean bool4 = localArrayList2.add(localList);
	      k += 1;
	    }
	  }

	  private static PlayersCardsInfo getTheBestPattern(Vector<Vector<CardsType>> paramVector)
	  {
	    Vector localVector1 = new Vector();
	    int i = paramVector.size();
	    int j = 0;
	    Vector localVector2 = -2147483648;
	    Object localObject1 = localVector1;
	    label35: Vector localVector3;
	    int m;
	    int n;
	    Object localObject2;
	    if (j >= i)
	    {
	      if (localVector2 < 0)
	      {
	        i = 0;
	        PlayersCardsInfo localPlayersCardsInfo = new PlayersCardsInfo();
	        localPlayersCardsInfo.pn = i;
	        localPlayersCardsInfo.cardsTV = ((Vector)localObject1);
	        setCardsInfo(localPlayersCardsInfo);
	        return localPlayersCardsInfo;
	      }
	    }
	    else
	    {
	      localVector3 = (Vector)paramVector.elementAt(j);
	      int k = localVector3.size();
	      m = 0;
	      n = 0;
	      if (n >= k)
	      {
	        Vector localVector4 = k * 10 + m;
	        if ((localVector2 != -2147483648) && (localVector4 >= localVector2))
	          break label583;
	        Vector localVector5 = localVector4;
	        localObject2 = localVector3;
	        localVector3 = localVector5;
	      }
	    }
	    while (true)
	    {
	      j += 1;
	      localVector2 = localVector3;
	      localObject1 = localObject2;
	      break;
	      localObject2 = (CardsType)localVector3.elementAt(n);
	      if (((CardsType)localObject2).type == 1)
	      {
	        if (((CardsType)localObject2).max >= 15)
	          m += -4;
	      }
	      else
	      {
	        label185: if (((CardsType)localObject2).type == 2)
	        {
	          if (((CardsType)localObject2).max < 15)
	            break label458;
	          m += -8;
	        }
	        label211: if (((CardsType)localObject2).type == 3)
	        {
	          if (((CardsType)localObject2).max < 15)
	            break label527;
	          m += -12;
	        }
	      }
	      while (true)
	      {
	        if (((CardsType)localObject2).type == 10)
	        {
	          m += -5;
	          if (((CardsType)localObject2).length >= 15)
	            m += -10;
	          if (((CardsType)localObject2).length == 12)
	            m += -9;
	          if (((CardsType)localObject2).length == 9)
	            m += -7;
	          if (((CardsType)localObject2).length == 6)
	            m += -4;
	        }
	        if (((CardsType)localObject2).type == 9)
	          m += -1;
	        if (((CardsType)localObject2).type == 8)
	          m += -1;
	        if (((CardsType)localObject2).type == 13)
	          m += -20;
	        if (((CardsType)localObject2).type == 14)
	          int i1 = m + -20;
	        n += 1;
	        break;
	        if (((CardsType)localObject2).max >= 14)
	        {
	          m += -2;
	          break label185;
	        }
	        if (((CardsType)localObject2).max >= 11)
	          break label185;
	        if (((CardsType)localObject2).max >= 7)
	        {
	          m += 4;
	          break label185;
	        }
	        m += 8;
	        break label185;
	        label458: if (((CardsType)localObject2).max >= 14)
	        {
	          m += -4;
	          break label211;
	        }
	        if (((CardsType)localObject2).max >= 11)
	        {
	          m += -2;
	          break label211;
	        }
	        if (((CardsType)localObject2).max >= 7)
	        {
	          m += 2;
	          break label211;
	        }
	        m += 6;
	        break label211;
	        label527: if (((CardsType)localObject2).max >= 11)
	        {
	          m += -9;
	          continue;
	        }
	        if (((CardsType)localObject2).max >= 7)
	        {
	          m += -6;
	          continue;
	        }
	        m += -4;
	      }
	      i = localVector2;
	      break label35;
	      label583: localVector3 = localVector2;
	      localObject2 = localObject1;
	    }
	  }

	  public static Vector<Card> getTips(Vector<Card> paramVector, Player paramPlayer1, Player paramPlayer2, Player paramPlayer3, TipsInfo paramTipsInfo)
	  {
	    int i = getType(paramVector);
	    int j = paramVector.size();
	    paramPlayer2 = paramPlayer1.cardsInfo;
	    int k = paramPlayer2.step;
	    paramPlayer1 = paramPlayer1.cards;
	    if (i == 14)
	      paramVector = null;
	    while (true)
	    {
	      return paramVector;
	      if (i == 13)
	      {
	        paramPlayer3 = k - 1;
	        label51: if (paramPlayer3 >= 0);
	      }
	      label55: label312: label630: label1660: 
	      do
	      {
	        Vector localVector5;
	        do
	        {
	          do
	          {
	            if ((paramTipsInfo.oldTips == null) || (paramTipsInfo.oldTips.size() == 0))
	              break label4833;
	            if (!paramTipsInfo.sorted)
	            {
	              TipsCompare localTipsCompare = new TipsCompare();
	              Collections.sort(paramTipsInfo.oldTips, localTipsCompare);
	              paramTipsInfo.sorted = 1;
	            }
	            Vector localVector1 = cloneCards(((CardsType)paramTipsInfo.oldTips.elementAt(0)).cards);
	            CardsType localCardsType1 = cloneCardsType((CardsType)paramTipsInfo.oldTips.elementAt(0));
	            paramTipsInfo.oldTips.removeElementAt(0);
	            boolean bool1 = paramTipsInfo.oldTips.add(localCardsType1);
	            paramVector = localVector1;
	            break;
	            paramPlayer1 = (CardsType)paramPlayer2.cardsTV.elementAt(paramPlayer3);
	            if ((paramPlayer1.type == 13) || (paramPlayer1.type == 14))
	            {
	              int m = paramPlayer1.max;
	              int n = ((Card)paramVector.elementAt(0)).num;
	              if ((m > n) && (!hasTip(paramTipsInfo.oldTips, paramPlayer1)))
	              {
	                Vector localVector2 = paramTipsInfo.oldTips;
	                CardsType localCardsType2 = cloneCardsType(paramPlayer1);
	                boolean bool2 = localVector2.add(localCardsType2);
	                paramVector = cloneCards(paramPlayer1.cards);
	                break;
	              }
	            }
	            paramPlayer3 += -1;
	            break label51;
	            Vector localVector3;
	            int i2;
	            Vector localVector6;
	            if (i == 12)
	            {
	              localVector3 = 0;
	              Player localPlayer1 = j / 5;
	              i2 = k - 1;
	              int i6;
	              if (i2 < 0)
	              {
	                i6 = localVector3;
	                if (i6 != null)
	                {
	                  localVector6 = new Vector();
	                  int i7 = k - 1;
	                  localVector3 = 0;
	                  i2 = i7;
	                }
	              }
	              else
	              {
	                while (true)
	                {
	                  if (i2 < 0)
	                    int i8 = localVector3;
	                  do
	                  {
	                    int i9 = localVector6.size();
	                    int i10 = localPlayer1 * 2;
	                    if (i9 != i10)
	                      break label640;
	                    Vector localVector7 = concatCards(cloneCards(i6), localVector6);
	                    CardsType localCardsType4 = new CardsType();
	                    localCardsType4.cards = localVector7;
	                    localCardsType4.length = j;
	                    localCardsType4.type = i;
	                    int i11 = ((Card)localVector7.elementAt(0)).num;
	                    localCardsType4.max = i11;
	                    boolean bool3 = paramTipsInfo.oldTips.add(localCardsType4);
	                    paramVector = localVector7;
	                    break;
	                    paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i2);
	                    if (paramPlayer3.type == 10)
	                    {
	                      int i12 = paramPlayer3.max;
	                      int i13 = ((Card)paramVector.elementAt(0)).num;
	                      if (i12 > i13)
	                      {
	                        int i14 = paramPlayer3.length;
	                        int i15 = localPlayer1 * 3;
	                        if (i14 == i15)
	                        {
	                          Vector localVector8 = paramTipsInfo.oldTips;
	                          int i16 = ((Card)paramPlayer3.cards.elementAt(0)).num;
	                          if (!hasTip(localVector8, i16))
	                          {
	                            localVector5 = cloneCards(paramPlayer3.cards);
	                            break label312;
	                          }
	                        }
	                      }
	                    }
	                    i2 += -1;
	                    break label303;
	                    paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i2);
	                    if ((paramPlayer3.type != 2) || (paramPlayer3.max >= 15))
	                      break label630;
	                    Vector localVector9 = paramPlayer3.cards;
	                    Vector localVector10 = concatCards(localVector6, localVector9);
	                    paramPlayer3 = localVector3 + 1;
	                  }
	                  while (paramPlayer3 == localPlayer1);
	                  int i17 = paramPlayer3;
	                  i2 += -1;
	                }
	              }
	              if (paramTipsInfo.max == 0)
	              {
	                int i18 = ((Card)paramVector.elementAt(0)).num;
	                paramTipsInfo.max = i18;
	              }
	              paramPlayer3 = paramTipsInfo.max;
	              while (true)
	              {
	                if (paramPlayer3 >= 14)
	                {
	                  paramPlayer1 = outZha(paramPlayer2);
	                  if (paramPlayer1 == null)
	                    break label55;
	                  paramVector = new CardsType();
	                  paramVector.cards = paramPlayer1;
	                  paramVector.length = 4;
	                  paramVector.type = 13;
	                  int i19 = ((Card)paramPlayer1.elementAt(0)).num;
	                  paramVector.max = i19;
	                  if (hasTip(paramTipsInfo.oldTips, paramVector))
	                    break label55;
	                  boolean bool4 = paramTipsInfo.oldTips.add(paramVector);
	                  paramVector = paramPlayer1;
	                  break;
	                }
	                paramVector = forceGetShun3WithDui(paramPlayer3, localPlayer1, paramPlayer1);
	                if (paramVector != null)
	                {
	                  Vector localVector11 = paramTipsInfo.oldTips;
	                  int i20 = ((Card)paramVector.elementAt(0)).num;
	                  if (!hasTip(localVector11, i20))
	                  {
	                    Vector localVector12 = cloneCards(paramVector);
	                    CardsType localCardsType5 = new CardsType();
	                    localCardsType5.cards = localVector12;
	                    localCardsType5.length = j;
	                    localCardsType5.type = i;
	                    int i21 = ((Card)localVector12.elementAt(0)).num;
	                    localCardsType5.max = i21;
	                    boolean bool5 = paramTipsInfo.oldTips.add(localCardsType5);
	                    paramVector = localVector12;
	                    break;
	                  }
	                }
	                paramPlayer3 += 1;
	              }
	            }
	            if (i == 11)
	            {
	              localVector3 = 0;
	              Player localPlayer2 = j / 4;
	              i2 = k - 1;
	              if (i2 < 0)
	              {
	                localVector5 = localVector3;
	                if (localVector5 != null)
	                {
	                  localVector6 = new Vector();
	                  int i22 = k - 1;
	                  localVector3 = 0;
	                  i2 = i22;
	                }
	              }
	              else
	              {
	                while (true)
	                {
	                  if (i2 < 0)
	                    int i23 = localVector3;
	                  do
	                  {
	                    if (localVector6.size() != localPlayer2)
	                      break label1233;
	                    Vector localVector13 = concatCards(cloneCards(localVector5), localVector6);
	                    CardsType localCardsType6 = new CardsType();
	                    localCardsType6.cards = localVector13;
	                    localCardsType6.length = j;
	                    localCardsType6.type = i;
	                    int i24 = ((Card)localVector13.elementAt(0)).num;
	                    localCardsType6.max = i24;
	                    boolean bool6 = paramTipsInfo.oldTips.add(localCardsType6);
	                    paramVector = localVector13;
	                    break;
	                    paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i2);
	                    if (paramPlayer3.type == 10)
	                    {
	                      int i25 = paramPlayer3.max;
	                      int i26 = ((Card)paramVector.elementAt(0)).num;
	                      if (i25 > i26)
	                      {
	                        int i27 = paramPlayer3.length;
	                        int i28 = localPlayer2 * 3;
	                        if (i27 == i28)
	                        {
	                          Vector localVector14 = paramTipsInfo.oldTips;
	                          int i29 = ((Card)paramPlayer3.cards.elementAt(0)).num;
	                          if (!hasTip(localVector14, i29))
	                          {
	                            localVector5 = cloneCards(paramPlayer3.cards);
	                            break label915;
	                          }
	                        }
	                      }
	                    }
	                    i2 += -1;
	                    break label906;
	                    paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i2);
	                    if ((paramPlayer3.type != 1) || (paramPlayer3.max >= 15))
	                      break label1223;
	                    Vector localVector15 = paramPlayer3.cards;
	                    Vector localVector16 = concatCards(localVector6, localVector15);
	                    paramPlayer3 = localVector3 + 1;
	                  }
	                  while (paramPlayer3 == localPlayer2);
	                  int i30 = paramPlayer3;
	                  i2 += -1;
	                }
	              }
	              if (paramTipsInfo.max == 0)
	              {
	                int i31 = ((Card)paramVector.elementAt(0)).num;
	                paramTipsInfo.max = i31;
	              }
	              paramPlayer3 = paramTipsInfo.max;
	              while (true)
	              {
	                if (paramPlayer3 >= 14)
	                {
	                  paramPlayer1 = outZha(paramPlayer2);
	                  if (paramPlayer1 == null)
	                    break label55;
	                  paramVector = new CardsType();
	                  paramVector.cards = paramPlayer1;
	                  paramVector.length = 4;
	                  paramVector.type = 13;
	                  int i32 = ((Card)paramPlayer1.elementAt(0)).num;
	                  paramVector.max = i32;
	                  if (hasTip(paramTipsInfo.oldTips, paramVector))
	                    break label55;
	                  boolean bool7 = paramTipsInfo.oldTips.add(paramVector);
	                  paramVector = paramPlayer1;
	                  break;
	                }
	                paramVector = forceGetShun3WithDan(paramPlayer3, localPlayer2, paramPlayer1);
	                if (paramVector != null)
	                {
	                  Vector localVector17 = paramTipsInfo.oldTips;
	                  int i33 = ((Card)paramVector.elementAt(0)).num;
	                  if (!hasTip(localVector17, i33))
	                  {
	                    Vector localVector18 = cloneCards(paramVector);
	                    CardsType localCardsType7 = new CardsType();
	                    localCardsType7.cards = localVector18;
	                    localCardsType7.length = j;
	                    localCardsType7.type = i;
	                    int i34 = ((Card)localVector18.elementAt(0)).num;
	                    localCardsType7.max = i34;
	                    boolean bool8 = paramTipsInfo.oldTips.add(localCardsType7);
	                    paramVector = localVector18;
	                    break;
	                  }
	                }
	                paramPlayer3 += 1;
	              }
	            }
	            int i1;
	            int i3;
	            if (i == 10)
	            {
	              localVector5 = null;
	              localCardsType3 = new CardsType();
	              i1 = j / 3;
	              i2 = k - 1;
	              while (true)
	              {
	                Object localObject1;
	                if (i2 < 0)
	                {
	                  paramPlayer3 = localCardsType3;
	                  localObject1 = localVector5;
	                }
	                while (true)
	                {
	                  if (localObject1 == null)
	                    break label1660;
	                  boolean bool9 = paramTipsInfo.oldTips.add(paramPlayer3);
	                  paramVector = localObject1;
	                  break;
	                  paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(localObject1);
	                  if (paramPlayer3.type != 10)
	                    break label1650;
	                  int i35 = paramPlayer3.max;
	                  int i36 = ((Card)paramVector.elementAt(0)).num;
	                  if (i35 <= i36)
	                    break label1650;
	                  int i37 = paramPlayer3.length;
	                  int i38 = i1 * 3;
	                  if ((i37 != i38) || (hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	                    break label1650;
	                  CardsType localCardsType8 = cloneCardsType(paramPlayer3);
	                  Vector localVector19 = cloneCards(paramPlayer3.cards);
	                  CardsType localCardsType9 = localCardsType8;
	                  localObject1 = localVector19;
	                  paramPlayer3 = localCardsType9;
	                }
	                localObject1 += -1;
	              }
	              if (paramTipsInfo.max == 0)
	              {
	                int i39 = ((Card)paramVector.elementAt(0)).num;
	                paramTipsInfo.max = i39;
	              }
	              i3 = paramTipsInfo.max;
	              while (true)
	              {
	                if (i3 >= 14)
	                {
	                  paramVector = outZha(paramPlayer2);
	                  if (paramVector == null)
	                    break label55;
	                  paramPlayer3.cards = paramVector;
	                  paramPlayer3.length = 4;
	                  paramPlayer3.type = 13;
	                  int i40 = ((Card)paramVector.elementAt(0)).num;
	                  paramPlayer3.max = i40;
	                  if (hasTip(paramTipsInfo.oldTips, paramPlayer3))
	                    break label55;
	                  boolean bool10 = paramTipsInfo.oldTips.add(paramPlayer3);
	                  break;
	                }
	                paramVector = forceGetShun3(i3, i1, paramPlayer1);
	                if (paramVector != null)
	                {
	                  Vector localVector20 = paramTipsInfo.oldTips;
	                  int i41 = ((Card)paramVector.elementAt(0)).num;
	                  if (!hasTip(localVector20, i41))
	                  {
	                    paramVector = cloneCards(paramVector);
	                    paramPlayer3.cards = paramVector;
	                    paramPlayer3.length = j;
	                    paramPlayer3.type = i;
	                    int i42 = ((Card)paramVector.elementAt(0)).num;
	                    paramPlayer3.max = i42;
	                    boolean bool11 = paramTipsInfo.oldTips.add(paramPlayer3);
	                    break;
	                  }
	                }
	                i3 += 1;
	              }
	            }
	            int i4;
	            if (i == 9)
	            {
	              localVector5 = null;
	              localCardsType3 = new CardsType();
	              i1 = j / 2;
	              i3 = k - 1;
	              while (true)
	              {
	                Object localObject2;
	                if (i3 < 0)
	                {
	                  paramPlayer3 = localCardsType3;
	                  localObject2 = localVector5;
	                }
	                while (true)
	                {
	                  if (localObject2 == null)
	                    break label2062;
	                  boolean bool12 = paramTipsInfo.oldTips.add(paramPlayer3);
	                  paramVector = localObject2;
	                  break;
	                  paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(localObject2);
	                  if (paramPlayer3.type != 9)
	                    break label2052;
	                  int i43 = paramPlayer3.max;
	                  int i44 = ((Card)paramVector.elementAt(0)).num;
	                  if (i43 <= i44)
	                    break label2052;
	                  int i45 = paramPlayer3.length;
	                  int i46 = i1 * 2;
	                  if ((i45 != i46) || (hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	                    break label2052;
	                  CardsType localCardsType10 = cloneCardsType(paramPlayer3);
	                  Vector localVector21 = cloneCards(paramPlayer3.cards);
	                  CardsType localCardsType11 = localCardsType10;
	                  localObject2 = localVector21;
	                  paramPlayer3 = localCardsType11;
	                }
	                localObject2 += -1;
	              }
	              if (paramTipsInfo.max == 0)
	              {
	                int i47 = ((Card)paramVector.elementAt(0)).num;
	                paramTipsInfo.max = i47;
	              }
	              i4 = paramTipsInfo.max;
	              while (true)
	              {
	                if (i4 >= 14)
	                {
	                  paramVector = outZha(paramPlayer2);
	                  if (paramVector == null)
	                    break label55;
	                  paramPlayer3.cards = paramVector;
	                  paramPlayer3.length = 4;
	                  paramPlayer3.type = 13;
	                  int i48 = ((Card)paramVector.elementAt(0)).num;
	                  paramPlayer3.max = i48;
	                  if (hasTip(paramTipsInfo.oldTips, paramPlayer3))
	                    break label55;
	                  boolean bool13 = paramTipsInfo.oldTips.add(paramPlayer3);
	                  break;
	                }
	                paramVector = forceGetShun2(i4, i1, paramPlayer1);
	                if (paramVector != null)
	                {
	                  Vector localVector22 = paramTipsInfo.oldTips;
	                  int i49 = ((Card)paramVector.elementAt(0)).num;
	                  if (!hasTip(localVector22, i49))
	                  {
	                    paramVector = cloneCards(paramVector);
	                    paramPlayer3.cards = paramVector;
	                    paramPlayer3.length = j;
	                    paramPlayer3.type = i;
	                    int i50 = ((Card)paramVector.elementAt(0)).num;
	                    paramPlayer3.max = i50;
	                    boolean bool14 = paramTipsInfo.oldTips.add(paramPlayer3);
	                    break;
	                  }
	                }
	                i4 += 1;
	              }
	            }
	            if (i == 8)
	            {
	              localVector5 = null;
	              localCardsType3 = new CardsType();
	              i1 = j;
	              i4 = k - 1;
	              while (true)
	              {
	                Object localObject3;
	                if (i4 < 0)
	                {
	                  paramPlayer3 = localCardsType3;
	                  localObject3 = localVector5;
	                }
	                while (true)
	                {
	                  if (localObject3 == null)
	                    break label2452;
	                  boolean bool15 = paramTipsInfo.oldTips.add(paramPlayer3);
	                  paramVector = localObject3;
	                  break;
	                  paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(localObject3);
	                  if (paramPlayer3.type != 8)
	                    break label2442;
	                  int i51 = paramPlayer3.max;
	                  int i52 = ((Card)paramVector.elementAt(0)).num;
	                  if ((i51 <= i52) || (paramPlayer3.length != i1) || (hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	                    break label2442;
	                  CardsType localCardsType12 = cloneCardsType(paramPlayer3);
	                  Vector localVector23 = cloneCards(paramPlayer3.cards);
	                  CardsType localCardsType13 = localCardsType12;
	                  localObject3 = localVector23;
	                  paramPlayer3 = localCardsType13;
	                }
	                localObject3 += -1;
	              }
	              if (paramTipsInfo.max == 0)
	              {
	                int i53 = ((Card)paramVector.elementAt(0)).num;
	                paramTipsInfo.max = i53;
	              }
	              i5 = paramTipsInfo.max;
	              while (true)
	              {
	                if (i5 >= 14)
	                {
	                  paramVector = outZha(paramPlayer2);
	                  if (paramVector == null)
	                    break label55;
	                  paramPlayer3.cards = paramVector;
	                  paramPlayer3.length = 4;
	                  paramPlayer3.type = 13;
	                  int i54 = ((Card)paramVector.elementAt(0)).num;
	                  paramPlayer3.max = i54;
	                  if (hasTip(paramTipsInfo.oldTips, paramPlayer3))
	                    break label55;
	                  boolean bool16 = paramTipsInfo.oldTips.add(paramPlayer3);
	                  break;
	                }
	                paramVector = forceGetShun(i5, i1, paramPlayer1);
	                if (paramVector != null)
	                {
	                  Vector localVector24 = paramTipsInfo.oldTips;
	                  int i55 = ((Card)paramVector.elementAt(0)).num;
	                  if (!hasTip(localVector24, i55))
	                  {
	                    paramVector = cloneCards(paramVector);
	                    paramPlayer3.cards = paramVector;
	                    paramPlayer3.length = j;
	                    paramPlayer3.type = i;
	                    int i56 = ((Card)paramVector.elementAt(0)).num;
	                    paramPlayer3.max = i56;
	                    boolean bool17 = paramTipsInfo.oldTips.add(paramPlayer3);
	                    break;
	                  }
	                }
	                i5 += 1;
	              }
	            }
	            if ((i != 7) && (i != 6))
	              break label2765;
	            paramPlayer1 = outZha(paramPlayer2);
	          }
	          while (paramPlayer1 == null);
	          paramVector = new CardsType();
	          paramVector.cards = paramPlayer1;
	          paramVector.length = 4;
	          paramVector.type = 13;
	          int i57 = ((Card)paramPlayer1.elementAt(0)).num;
	          paramVector.max = i57;
	        }
	        while (hasTip(paramTipsInfo.oldTips, paramVector));
	        boolean bool18 = paramTipsInfo.oldTips.add(paramVector);
	        paramVector = paramPlayer1;
	        break;
	        Vector localVector4;
	        if (i == 5)
	        {
	          localVector5 = null;
	          localCardsType3 = new CardsType();
	          i5 = k - 1;
	          if (i5 < 0)
	          {
	            if (localVector5 != null)
	            {
	              localVector4 = new Vector();
	              i5 = k - 1;
	            }
	          }
	          else
	            while (true)
	            {
	              if (i5 < 0);
	              while (true)
	              {
	                if (localVector4.size() != 2)
	                  break label3033;
	                paramVector = concatCards(cloneCards(localVector5), localVector4);
	                localCardsType3.cards = paramVector;
	                localCardsType3.length = j;
	                localCardsType3.type = i;
	                int i58 = ((Card)paramVector.elementAt(0)).num;
	                localCardsType3.max = i58;
	                boolean bool19 = paramTipsInfo.oldTips.add(localCardsType3);
	                break;
	                paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	                if (paramPlayer3.type == 3)
	                {
	                  int i59 = paramPlayer3.max;
	                  int i60 = ((Card)paramVector.elementAt(0)).num;
	                  if ((i59 > i60) && (!hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	                  {
	                    localVector5 = cloneCards(paramPlayer3.cards);
	                    break label2794;
	                  }
	                }
	                i5 += -1;
	                break label2789;
	                paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	                if ((paramPlayer3.type != 2) || (paramPlayer3.max >= 15))
	                  break label3023;
	                Vector localVector25 = paramPlayer3.cards;
	                Vector localVector26 = concatCards(localVector4, localVector25);
	              }
	              i5 += -1;
	            }
	          if (paramTipsInfo.max == 0)
	          {
	            int i61 = ((Card)paramVector.elementAt(0)).num;
	            paramTipsInfo.max = i61;
	          }
	          paramPlayer3 = paramTipsInfo.max;
	          while (true)
	          {
	            if (paramPlayer3 >= 15)
	            {
	              paramVector = outZha(paramPlayer2);
	              if (paramVector == null)
	                break label55;
	              localCardsType3.cards = paramVector;
	              localCardsType3.length = 4;
	              localCardsType3.type = 13;
	              int i62 = ((Card)paramVector.elementAt(0)).num;
	              localCardsType3.max = i62;
	              if (hasTip(paramTipsInfo.oldTips, localCardsType3))
	                break label55;
	              boolean bool20 = paramTipsInfo.oldTips.add(localCardsType3);
	              break;
	            }
	            paramVector = forceGetShun3WithDui(paramPlayer3, 1, paramPlayer1);
	            if (paramVector != null)
	            {
	              Vector localVector27 = paramTipsInfo.oldTips;
	              int i63 = ((Card)paramVector.elementAt(0)).num;
	              if (!hasTip(localVector27, i63))
	              {
	                paramVector = cloneCards(paramVector);
	                localCardsType3.cards = paramVector;
	                localCardsType3.length = j;
	                localCardsType3.type = i;
	                int i64 = ((Card)paramVector.elementAt(0)).num;
	                localCardsType3.max = i64;
	                boolean bool21 = paramTipsInfo.oldTips.add(localCardsType3);
	                break;
	              }
	            }
	            paramPlayer3 += 1;
	          }
	        }
	        if (i == 4)
	        {
	          localVector5 = null;
	          localCardsType3 = new CardsType();
	          i5 = k - 1;
	          if (i5 < 0)
	          {
	            if (localVector5 != null)
	            {
	              localVector4 = new Vector();
	              i5 = k - 1;
	            }
	          }
	          else
	            while (true)
	            {
	              if (i5 < 0);
	              while (true)
	              {
	                if (localVector4.size() != 1)
	                  break label3546;
	                paramVector = concatCards(cloneCards(localVector5), localVector4);
	                localCardsType3.cards = paramVector;
	                localCardsType3.length = j;
	                localCardsType3.type = i;
	                int i65 = ((Card)paramVector.elementAt(0)).num;
	                localCardsType3.max = i65;
	                boolean bool22 = paramTipsInfo.oldTips.add(localCardsType3);
	                break;
	                paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	                if (paramPlayer3.type == 3)
	                {
	                  int i66 = paramPlayer3.max;
	                  int i67 = ((Card)paramVector.elementAt(0)).num;
	                  if (i66 > i67)
	                  {
	                    Vector localVector28 = paramTipsInfo.oldTips;
	                    int i68 = ((Card)paramPlayer3.cards.elementAt(0)).num;
	                    if (!hasTip(localVector28, i68))
	                    {
	                      localVector5 = cloneCards(paramPlayer3.cards);
	                      break label3286;
	                    }
	                  }
	                }
	                i5 += -1;
	                break label3281;
	                paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	                if ((paramPlayer3.type != 1) || (paramPlayer3.max >= 15))
	                  break label3536;
	                Vector localVector29 = paramPlayer3.cards;
	                Vector localVector30 = concatCards(localVector4, localVector29);
	              }
	              i5 += -1;
	            }
	          if (paramTipsInfo.max == 0)
	          {
	            int i69 = ((Card)paramVector.elementAt(0)).num;
	            paramTipsInfo.max = i69;
	          }
	          paramPlayer3 = paramTipsInfo.max;
	          while (true)
	          {
	            if (paramPlayer3 >= 15)
	            {
	              paramVector = outZha(paramPlayer2);
	              if (paramVector == null)
	                break label55;
	              localCardsType3.cards = paramVector;
	              localCardsType3.length = 4;
	              localCardsType3.type = 13;
	              int i70 = ((Card)paramVector.elementAt(0)).num;
	              localCardsType3.max = i70;
	              if (hasTip(paramTipsInfo.oldTips, localCardsType3))
	                break label55;
	              boolean bool23 = paramTipsInfo.oldTips.add(localCardsType3);
	              break;
	            }
	            paramVector = forceGetShun3WithDan(paramPlayer3, 1, paramPlayer1);
	            if (paramVector != null)
	            {
	              Vector localVector31 = paramTipsInfo.oldTips;
	              int i71 = ((Card)paramVector.elementAt(0)).num;
	              if (!hasTip(localVector31, i71))
	              {
	                paramVector = cloneCards(paramVector);
	                localCardsType3.cards = paramVector;
	                localCardsType3.length = j;
	                localCardsType3.type = i;
	                int i72 = ((Card)paramVector.elementAt(0)).num;
	                localCardsType3.max = i72;
	                boolean bool24 = paramTipsInfo.oldTips.add(localCardsType3);
	                break;
	              }
	            }
	            paramPlayer3 += 1;
	          }
	        }
	        if (i == 3)
	        {
	          localCardsType3 = new CardsType();
	          i5 = k - 1;
	          if (i5 < 0)
	          {
	            if (paramTipsInfo.max == 0)
	            {
	              int i73 = ((Card)paramVector.elementAt(0)).num;
	              paramTipsInfo.max = i73;
	            }
	            paramPlayer3 = paramTipsInfo.max;
	          }
	          while (true)
	          {
	            if (paramPlayer3 >= 15)
	            {
	              paramVector = outZha(paramPlayer2);
	              if (paramVector == null)
	                break label55;
	              localCardsType3.cards = paramVector;
	              localCardsType3.length = 4;
	              localCardsType3.type = 13;
	              int i74 = ((Card)paramVector.elementAt(0)).num;
	              localCardsType3.max = i74;
	              if (hasTip(paramTipsInfo.oldTips, localCardsType3))
	                break label55;
	              boolean bool25 = paramTipsInfo.oldTips.add(localCardsType3);
	              break;
	              paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	              if (paramPlayer3.type == 3)
	              {
	                int i75 = paramPlayer3.max;
	                int i76 = ((Card)paramVector.elementAt(0)).num;
	                if ((i75 > i76) && (paramPlayer3.max < 15) && (!hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	                {
	                  Vector localVector32 = paramTipsInfo.oldTips;
	                  CardsType localCardsType14 = cloneCardsType(paramPlayer3);
	                  boolean bool26 = localVector32.add(localCardsType14);
	                  paramVector = cloneCards(paramPlayer3.cards);
	                  break;
	                }
	              }
	              i5 += -1;
	              break label3791;
	            }
	            paramVector = forceGetShun3(paramPlayer3, 1, paramPlayer1);
	            if (paramVector != null)
	            {
	              Vector localVector33 = paramTipsInfo.oldTips;
	              int i77 = ((Card)paramVector.elementAt(0)).num;
	              if (!hasTip(localVector33, i77))
	              {
	                paramVector = cloneCards(paramVector);
	                localCardsType3.cards = paramVector;
	                localCardsType3.length = j;
	                localCardsType3.type = i;
	                int i78 = ((Card)paramVector.elementAt(0)).num;
	                localCardsType3.max = i78;
	                boolean bool27 = paramTipsInfo.oldTips.add(localCardsType3);
	                break;
	              }
	            }
	            paramPlayer3 += 1;
	          }
	        }
	        if (i != 2)
	          continue;
	        localCardsType3 = new CardsType();
	        i5 = k - 1;
	        if (i5 < 0)
	        {
	          if (paramTipsInfo.max == 0)
	          {
	            int i79 = ((Card)paramVector.elementAt(0)).num;
	            paramTipsInfo.max = i79;
	          }
	          paramPlayer3 = paramTipsInfo.max;
	        }
	        while (true)
	        {
	          if (paramPlayer3 >= 15)
	          {
	            paramVector = outZha(paramPlayer2);
	            if (paramVector == null)
	              break label55;
	            localCardsType3.cards = paramVector;
	            localCardsType3.length = 4;
	            localCardsType3.type = 13;
	            int i80 = ((Card)paramVector.elementAt(0)).num;
	            localCardsType3.max = i80;
	            if (hasTip(paramTipsInfo.oldTips, localCardsType3))
	              break label55;
	            boolean bool28 = paramTipsInfo.oldTips.add(localCardsType3);
	            break;
	            paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	            if (paramPlayer3.type == 2)
	            {
	              int i81 = paramPlayer3.max;
	              int i82 = ((Card)paramVector.elementAt(0)).num;
	              if ((i81 > i82) && (!hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	              {
	                Vector localVector34 = paramTipsInfo.oldTips;
	                CardsType localCardsType15 = cloneCardsType(paramPlayer3);
	                boolean bool29 = localVector34.add(localCardsType15);
	                paramVector = cloneCards(paramPlayer3.cards);
	                break;
	              }
	            }
	            i5 += -1;
	            break label4152;
	          }
	          paramVector = forceGetDui(paramPlayer3, paramPlayer1);
	          if (paramVector != null)
	          {
	            Vector localVector35 = paramTipsInfo.oldTips;
	            int i83 = ((Card)paramVector.elementAt(0)).num;
	            if (!hasTip(localVector35, i83))
	            {
	              paramVector = cloneCards(paramVector);
	              localCardsType3.cards = paramVector;
	              localCardsType3.length = j;
	              localCardsType3.type = i;
	              int i84 = ((Card)paramVector.elementAt(0)).num;
	              localCardsType3.max = i84;
	              boolean bool30 = paramTipsInfo.oldTips.add(localCardsType3);
	              break;
	            }
	          }
	          paramPlayer3 += 1;
	        }
	      }
	      while (i != 1);
	      label303: label1223: label1233: label1650: CardsType localCardsType3 = new CardsType();
	      label640: label906: label915: label2452: label2765: label2789: label2794: int i5 = k - 1;
	      label2052: label2062: label3023: label3033: label3546: if (i5 < 0)
	      {
	        if (paramTipsInfo.max == 0)
	        {
	          int i85 = ((Card)paramVector.elementAt(0)).num;
	          paramTipsInfo.max = i85;
	        }
	        paramPlayer3 = paramTipsInfo.max;
	      }
	      label2442: label4503: 
	      while (true)
	      {
	        label3281: label3286: if (paramPlayer3 >= 17)
	        {
	          paramVector = outZha(paramPlayer2);
	          if (paramVector == null)
	            break label55;
	          localCardsType3.cards = paramVector;
	          localCardsType3.length = 4;
	          localCardsType3.type = 13;
	          int i86 = ((Card)paramVector.elementAt(0)).num;
	          localCardsType3.max = i86;
	          if (hasTip(paramTipsInfo.oldTips, localCardsType3))
	            break label55;
	          boolean bool31 = paramTipsInfo.oldTips.add(localCardsType3);
	          break;
	          paramPlayer3 = (CardsType)paramPlayer2.cardsTV.elementAt(i5);
	          if (paramPlayer3.type == 1)
	          {
	            int i87 = paramPlayer3.max;
	            int i88 = ((Card)paramVector.elementAt(0)).num;
	            if ((i87 > i88) && (!hasTip(paramTipsInfo.oldTips, paramPlayer3)))
	            {
	              Vector localVector36 = paramTipsInfo.oldTips;
	              CardsType localCardsType16 = cloneCardsType(paramPlayer3);
	              boolean bool32 = localVector36.add(localCardsType16);
	              paramVector = cloneCards(paramPlayer3.cards);
	              break;
	            }
	          }
	          i5 += -1;
	          break label4503;
	        }
	        label3536: paramVector = forceGetDan(paramPlayer3, paramPlayer1);
	        label3791: if (paramVector != null)
	        {
	          Vector localVector37 = paramTipsInfo.oldTips;
	          int i89 = ((Card)paramVector.elementAt(0)).num;
	          if (!hasTip(localVector37, i89))
	          {
	            paramVector = cloneCards(paramVector);
	            localCardsType3.cards = paramVector;
	            localCardsType3.length = j;
	            localCardsType3.type = i;
	            int i90 = ((Card)paramVector.elementAt(0)).num;
	            localCardsType3.max = i90;
	            boolean bool33 = paramTipsInfo.oldTips.add(localCardsType3);
	            break;
	          }
	        }
	        label4152: paramPlayer3 += 1;
	      }
	      label4833: paramVector = null;
	    }
	  }

	  public static int getType(Vector<Card> paramVector)
	  {
	    int i;
	    if ((paramVector == null) || (paramVector.size() == 0))
	      i = -1;
	    while (true)
	    {
	      return i;
	      int j = paramVector.size();
	      if (j == 0)
	      {
	        i = 0;
	        continue;
	      }
	      if (j == 1)
	      {
	        i = 1;
	        continue;
	      }
	      Vector localVector1 = sortByBigOrSmall(paramVector);
	      if (j == 2)
	      {
	        if ((((Card)localVector1.elementAt(0)).num == 17) && (((Card)localVector1.elementAt(1)).num == 16))
	        {
	          i = 14;
	          continue;
	        }
	        int k = ((Card)localVector1.elementAt(0)).num;
	        int m = ((Card)localVector1.elementAt(1)).num;
	        if (k == m)
	        {
	          i = 2;
	          continue;
	        }
	      }
	      if (j == 3)
	      {
	        int n = ((Card)localVector1.elementAt(0)).num;
	        int i1 = ((Card)localVector1.elementAt(1)).num;
	        if (n == i1)
	        {
	          int i2 = ((Card)localVector1.elementAt(1)).num;
	          int i3 = ((Card)localVector1.elementAt(2)).num;
	          if (i2 == i3)
	          {
	            i = 3;
	            continue;
	          }
	        }
	      }
	      Vector localVector2 = sortByFaceAndSuit(paramVector);
	      label1164: label1305: label1314: label2218: if (j == 4)
	      {
	        int i4 = ((Card)localVector1.elementAt(0)).num;
	        int i5 = ((Card)localVector1.elementAt(1)).num;
	        int i16;
	        int i17;
	        int i19;
	        int i21;
	        int i23;
	        int i25;
	        int i27;
	        int i29;
	        int i31;
	        int i33;
	        int i35;
	        int i37;
	        int i39;
	        int i41;
	        int i43;
	        int i45;
	        label980: int i66;
	        label1355: label1646: if (i4 == i5)
	        {
	          int i6 = ((Card)localVector1.elementAt(1)).num;
	          int i7 = ((Card)localVector1.elementAt(2)).num;
	          if (i6 == i7)
	          {
	            int i8 = ((Card)localVector1.elementAt(2)).num;
	            int i9 = ((Card)localVector1.elementAt(3)).num;
	            if (i8 == i9)
	            {
	              i = 13;
	              continue;
	            }
	          }
	        }
	        int i10 = ((Card)localVector2.elementAt(0)).num;
	        int i11 = ((Card)localVector2.elementAt(1)).num;
	        int i18;
	        int i20;
	        int i22;
	        int i24;
	        int i26;
	        int i28;
	        int i30;
	        int i32;
	        int i34;
	        int i36;
	        int i38;
	        int i40;
	        int i42;
	        int i44;
	        int i46;
	        int i67;
	        label2113: label2122: if (i10 == i11)
	        {
	          int i12 = ((Card)localVector2.elementAt(1)).num;
	          int i13 = ((Card)localVector2.elementAt(2)).num;
	          if (i12 == i13)
	          {
	            int i14 = ((Card)localVector2.elementAt(2)).num;
	            int i15 = ((Card)localVector2.elementAt(3)).num;
	            if (i14 != i15)
	            {
	              i = 4;
	              continue;
	            }
	          }
	        }
	      }
	      if (j == 5)
	      {
	        i16 = ((Card)localVector2.elementAt(0)).num;
	        i17 = ((Card)localVector2.elementAt(1)).num;
	        if (i16 == i17)
	        {
	          i18 = ((Card)localVector2.elementAt(1)).num;
	          i19 = ((Card)localVector2.elementAt(2)).num;
	          if (i18 == i19)
	          {
	            i20 = ((Card)localVector2.elementAt(2)).num;
	            i21 = ((Card)localVector2.elementAt(3)).num;
	            if (i20 != i21)
	            {
	              i22 = ((Card)localVector2.elementAt(3)).num;
	              i23 = ((Card)localVector2.elementAt(4)).num;
	              if (i22 == i23)
	              {
	                i = 5;
	                continue;
	              }
	            }
	          }
	        }
	      }
	      if (j == 6)
	      {
	        i24 = ((Card)localVector2.elementAt(0)).num;
	        i25 = ((Card)localVector2.elementAt(1)).num;
	        if (i24 == i25)
	        {
	          i26 = ((Card)localVector2.elementAt(1)).num;
	          i27 = ((Card)localVector2.elementAt(2)).num;
	          if (i26 == i27)
	          {
	            i28 = ((Card)localVector2.elementAt(2)).num;
	            i29 = ((Card)localVector2.elementAt(3)).num;
	            if (i28 == i29)
	            {
	              i = 6;
	              continue;
	            }
	          }
	        }
	      }
	      if (j == 8)
	      {
	        i30 = ((Card)localVector2.elementAt(0)).num;
	        i31 = ((Card)localVector2.elementAt(1)).num;
	        if (i30 == i31)
	        {
	          i32 = ((Card)localVector2.elementAt(1)).num;
	          i33 = ((Card)localVector2.elementAt(2)).num;
	          if (i32 == i33)
	          {
	            i34 = ((Card)localVector2.elementAt(2)).num;
	            i35 = ((Card)localVector2.elementAt(3)).num;
	            if (i34 == i35)
	            {
	              i36 = ((Card)localVector2.elementAt(4)).num;
	              i37 = ((Card)localVector2.elementAt(5)).num;
	              if (i36 == i37)
	              {
	                i38 = ((Card)localVector2.elementAt(5)).num;
	                i39 = ((Card)localVector2.elementAt(6)).num;
	                if (i38 != i39)
	                {
	                  i40 = ((Card)localVector2.elementAt(6)).num;
	                  i41 = ((Card)localVector2.elementAt(7)).num;
	                  if (i40 == i41)
	                  {
	                    i = 7;
	                    continue;
	                  }
	                }
	              }
	            }
	          }
	        }
	      }
	      if (((Card)localVector2.elementAt(0)).num > 14)
	      {
	        i = -1;
	        continue;
	      }
	      if ((j == 10) || (j == 15) || (j == 20))
	      {
	        i42 = 1;
	        i43 = j / 5 * 2;
	        i44 = j - i43;
	        i45 = 0;
	        i46 = i44 - 3;
	        if ((i45 >= i46) || (i42 == 0))
	          i45 = i44;
	        while (true)
	        {
	          int i47 = j - 2;
	          if ((i45 >= i47) || (i42 == 0))
	          {
	            if (i42 == 0)
	              break label1314;
	            i = 12;
	            break;
	            int i48 = ((Card)localVector2.elementAt(i45)).num;
	            int i49 = i45 + 3;
	            int i50 = ((Card)localVector2.elementAt(i49)).num;
	            if (i48 - i50 == 1)
	            {
	              int i51 = ((Card)localVector2.elementAt(i45)).num;
	              int i52 = i45 + 1;
	              int i53 = ((Card)localVector2.elementAt(i52)).num;
	              if (i51 == i53)
	              {
	                int i54 = ((Card)localVector2.elementAt(i45)).num;
	                int i55 = i45 + 2;
	                int i56 = ((Card)localVector2.elementAt(i55)).num;
	                if (i54 == i56)
	                  break label1164;
	              }
	            }
	            i42 = 0;
	            i45 += 3;
	            break label980;
	          }
	          int i57 = ((Card)localVector2.elementAt(i45)).num;
	          int i58 = i45 + 2;
	          int i59 = ((Card)localVector2.elementAt(i58)).num;
	          if (i57 != i59)
	          {
	            int i60 = ((Card)localVector2.elementAt(i45)).num;
	            int i61 = i45 + 1;
	            int i62 = ((Card)localVector2.elementAt(i61)).num;
	            if (i60 == i62)
	            {
	              int i63 = ((Card)localVector2.elementAt(i45)).num;
	              int i64 = i45 - 1;
	              int i65 = ((Card)localVector2.elementAt(i64)).num;
	              if (i63 != i65)
	                break label1305;
	            }
	          }
	          i42 = 0;
	          i45 += 2;
	        }
	      }
	      if ((j == 8) || (j == 12) || (j == 16) || (j == 20))
	      {
	        i42 = 1;
	        i66 = j / 4;
	        i44 = j - i66;
	        i45 = 0;
	        i67 = i44 - 3;
	        if ((i45 >= i67) || (i42 == 0))
	          i45 = i44;
	        while (true)
	        {
	          int i68 = j - 1;
	          if ((i45 >= i68) || (i42 == 0))
	          {
	            if (i42 == 0)
	              break label1646;
	            i = 11;
	            break;
	            int i69 = ((Card)localVector2.elementAt(i45)).num;
	            int i70 = i45 + 3;
	            int i71 = ((Card)localVector2.elementAt(i70)).num;
	            if (i69 - i71 == 1)
	            {
	              int i72 = ((Card)localVector2.elementAt(i45)).num;
	              int i73 = i45 + 1;
	              int i74 = ((Card)localVector2.elementAt(i73)).num;
	              if (i72 == i74)
	              {
	                int i75 = ((Card)localVector2.elementAt(i45)).num;
	                int i76 = i45 + 2;
	                int i77 = ((Card)localVector2.elementAt(i76)).num;
	                if (i75 == i77)
	                  break label1539;
	              }
	            }
	            i42 = 0;
	            label1539: i45 += 3;
	            break label1355;
	          }
	          int i78 = ((Card)localVector2.elementAt(i45)).num;
	          int i79 = i45 + 1;
	          int i80 = ((Card)localVector2.elementAt(i79)).num;
	          if (i78 != i80)
	          {
	            int i81 = ((Card)localVector2.elementAt(i45)).num;
	            int i82 = i45 - 1;
	            int i83 = ((Card)localVector2.elementAt(i82)).num;
	            if (i81 != i83);
	          }
	          else
	          {
	            i42 = 0;
	          }
	          i45 += 1;
	        }
	      }
	      if (j >= 6)
	      {
	        if (j % 2 == 0)
	        {
	          i42 = 1;
	          i45 = 0;
	          while (true)
	          {
	            int i84 = j - 2;
	            if ((i45 >= i84) || (i42 == 0))
	            {
	              int i85 = j - 1;
	              int i86 = ((Card)localVector2.elementAt(i85)).num;
	              int i87 = j - 2;
	              int i88 = ((Card)localVector2.elementAt(i87)).num;
	              if (i86 != i88)
	                i42 = 0;
	              if (i42 == 0)
	                break label2122;
	              i = 9;
	              break;
	            }
	            int i89 = ((Card)localVector2.elementAt(i45)).num;
	            int i90 = i45 + 2;
	            int i91 = ((Card)localVector2.elementAt(i90)).num;
	            if (i89 - i91 == 1)
	            {
	              int i92 = ((Card)localVector2.elementAt(i45)).num;
	              int i93 = i45 + 1;
	              int i94 = ((Card)localVector2.elementAt(i93)).num;
	              if (i92 == i94);
	            }
	            else
	            {
	              i42 = 0;
	            }
	            i45 += 2;
	          }
	        }
	        if (j % 3 == 0)
	        {
	          i42 = 1;
	          i45 = 0;
	          while (true)
	          {
	            int i95 = j - 3;
	            if ((i45 >= i95) || (i42 == 0))
	            {
	              int i96 = j - 1;
	              int i97 = ((Card)localVector2.elementAt(i96)).num;
	              int i98 = j - 2;
	              int i99 = ((Card)localVector2.elementAt(i98)).num;
	              if (i97 == i99)
	              {
	                int i100 = j - 2;
	                int i101 = ((Card)localVector2.elementAt(i100)).num;
	                int i102 = j - 3;
	                int i103 = ((Card)localVector2.elementAt(i102)).num;
	                if (i101 == i103);
	              }
	              else
	              {
	                i42 = 0;
	              }
	              if (i42 == 0)
	                break label2122;
	              i = 10;
	              break;
	            }
	            int i104 = ((Card)localVector2.elementAt(i45)).num;
	            int i105 = i45 + 3;
	            int i106 = ((Card)localVector2.elementAt(i105)).num;
	            if (i104 - i106 == 1)
	            {
	              int i107 = ((Card)localVector2.elementAt(i45)).num;
	              int i108 = i45 + 1;
	              int i109 = ((Card)localVector2.elementAt(i108)).num;
	              if (i107 == i109)
	              {
	                int i110 = ((Card)localVector2.elementAt(i45)).num;
	                int i111 = i45 + 2;
	                int i112 = ((Card)localVector2.elementAt(i111)).num;
	                if (i110 == i112)
	                  break label2113;
	              }
	            }
	            i42 = 0;
	            i45 += 3;
	          }
	        }
	      }
	      if (j >= 5)
	      {
	        i42 = 1;
	        i45 = 0;
	        while (true)
	        {
	          int i113 = j - 1;
	          if ((i45 >= i113) || (i42 == 0))
	          {
	            if (i42 == 0)
	              break label2218;
	            i = 8;
	            break;
	          }
	          int i114 = ((Card)localVector2.elementAt(i45)).num;
	          int i115 = i45 + 1;
	          int i116 = ((Card)localVector2.elementAt(i115)).num;
	          if (i114 - i116 != 1)
	            i42 = 0;
	          i45 += 1;
	        }
	      }
	      i = -1;
	    }
	  }

	  public static Vector<Card> getZha(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    Vector localVector1 = null;
	    int i = paramPlayersCardsInfo.step;
	    int j;
	    label22: Vector localVector2;
	    if (paramPlayersCardsInfo.zhaNum > 0)
	    {
	      j = i - 1;
	      if (j < 0)
	      {
	        if (localVector1 != null)
	          break label72;
	        localVector2 = null;
	      }
	    }
	    while (true)
	    {
	      return localVector2;
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	      if (localCardsType.type == 13)
	      {
	        localVector1 = localCardsType.cards;
	        break label22;
	      }
	      j += -1;
	      break;
	      label72: localVector2 = cloneCards(localVector1);
	      continue;
	      localVector2 = null;
	    }
	  }

	  private static boolean hasTip(Vector<CardsType> paramVector, int paramInt)
	  {
	    int i = paramVector.size();
	    int j = 0;
	    while (true)
	    {
	      if (j >= i);
	      for (int k = 0; ; k = 1)
	      {
	        return k;
	        if (((CardsType)paramVector.elementAt(j)).max != paramInt)
	          break;
	      }
	      j += 1;
	    }
	  }

	  private static boolean hasTip(Vector<CardsType> paramVector, CardsType paramCardsType)
	  {
	    int i = paramVector.size();
	    int j = 0;
	    while (true)
	    {
	      if (j >= i);
	      for (int k = 0; ; k = 1)
	      {
	        return k;
	        CardsType localCardsType = (CardsType)paramVector.elementAt(j);
	        int m = localCardsType.length;
	        int n = paramCardsType.length;
	        if (m != n)
	          break;
	        int i1 = localCardsType.max;
	        int i2 = paramCardsType.max;
	        if (i1 != i2)
	          break;
	        int i3 = localCardsType.type;
	        int i4 = paramCardsType.type;
	        if (i3 != i4)
	          break;
	      }
	      j += 1;
	    }
	  }

	  private static boolean isAddable(int paramInt, Vector<Card> paramVector1, Vector<Card> paramVector2)
	  {
	    int i = 0;
	    int j = paramVector1.size() / 3;
	    int k;
	    if (i >= j)
	    {
	      if (!Settings.isWithCardsIdenticalAllowed)
	        break label62;
	      k = 1;
	    }
	    while (true)
	    {
	      return k;
	      int m = i * 3;
	      if (((Card)paramVector1.elementAt(m)).num == paramInt)
	      {
	        k = 0;
	        continue;
	      }
	      i += 1;
	      break;
	      label62: if (paramVector2.size() != 0)
	        break label75;
	      k = 1;
	    }
	    label75: i = 0;
	    while (true)
	    {
	      int n = paramVector2.size();
	      if (i >= n)
	      {
	        k = 1;
	        break;
	      }
	      if (((Card)paramVector2.elementAt(i)).num == paramInt)
	      {
	        k = 0;
	        break;
	      }
	      i += 1;
	    }
	  }

	  public static Vector<Card> landownerOutCards(Vector<Card> paramVector, Player paramPlayer1, Player paramPlayer2, Player paramPlayer3)
	  {
	    Player localPlayer1 = getType(paramVector);
	    int k = paramVector.size();
	    PlayersCardsInfo localPlayersCardsInfo = paramPlayer1.cardsInfo;
	    int m = localPlayersCardsInfo.step;
	    int n = paramPlayer1.cardsInfo.pn;
	    paramPlayer1 = paramPlayer1.cards;
	    Object localObject2;
	    Object localObject3;
	    int i1;
	    if (paramPlayer2.getOutCards() != null)
	    {
	      Player localPlayer2 = paramPlayer2;
	      localObject2 = paramPlayer3;
	      localObject3 = localPlayer2;
	      paramPlayer3 = ((Player)localObject3).cardsInfo.pn;
	      i1 = ((Player)localObject2).cardsInfo.pn;
	      if (localPlayer1 != 14)
	        break label103;
	      paramVector = null;
	    }
	    while (true)
	    {
	      return paramVector;
	      Player localPlayer3 = paramPlayer2;
	      Player localPlayer4 = paramPlayer3;
	      localObject2 = localPlayer3;
	      localObject3 = localPlayer4;
	      break;
	      label103: Vector localVector3;
	      if (m == 1)
	      {
	        paramPlayer2 = getType(paramPlayer1);
	        if ((paramPlayer2 == 14) || (paramPlayer2 == 13))
	        {
	          paramVector = cloneCards(paramPlayer1);
	          continue;
	        }
	        if (paramPlayer2 == localPlayer1)
	        {
	          int i2 = ((Card)paramPlayer1.elementAt(0)).num;
	          int i3 = ((Card)paramVector.elementAt(0)).num;
	          if (i2 > i3)
	          {
	            paramVector = cloneCards(paramPlayer1);
	            continue;
	          }
	        }
	      }
	      if ((m == 2) && (localPlayersCardsInfo.huoNum > 0))
	      {
	        paramVector = getHuo(localPlayersCardsInfo);
	        continue;
	      }
	      if (localPlayer1 == 13)
	      {
	        paramPlayer2 = m - 1;
	        while (true)
	        {
	          if (paramPlayer2 < 0)
	          {
	            paramVector = null;
	            break;
	          }
	          paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	          if ((paramPlayer1.type == 13) || (paramPlayer1.type == 14))
	          {
	            int i4 = paramPlayer1.max;
	            int i5 = ((Card)paramVector.elementAt(0)).num;
	            if (i4 > i5)
	            {
	              if ((n < 10) || (localPlayersCardsInfo.step <= 3) || (((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	              {
	                paramVector = cloneCards(paramPlayer1.cards);
	                break;
	              }
	              if ((n < 25) || (paramPlayer3 < 15) || (i1 < 15))
	              {
	                paramVector = cloneCards(paramPlayer1.cards);
	                break;
	              }
	            }
	          }
	          paramPlayer2 += -1;
	        }
	      }
	      int i;
	      label394: label403: Object localObject4;
	      if (localPlayer1 == 12)
	      {
	        i = 0;
	        Player localPlayer5 = k / 5;
	        k = m - 1;
	        int i6;
	        if (k < 0)
	        {
	          i6 = i;
	          if (i6 != null)
	          {
	            localVector3 = new Vector();
	            int i8 = m - 1;
	            i = 0;
	            k = i8;
	          }
	        }
	        else
	        {
	          while (true)
	          {
	            if (k < 0)
	              int i9 = i;
	            do
	            {
	              int i10 = localVector3.size();
	              int i11 = localPlayer5 * 2;
	              if (i10 != i11)
	                break label633;
	              paramVector = concatCards(cloneCards(i6), localVector3);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if (paramPlayer2.type == 10)
	              {
	                int i12 = paramPlayer2.max;
	                int i13 = ((Card)paramVector.elementAt(0)).num;
	                if (i12 > i13)
	                {
	                  int i14 = paramPlayer2.length;
	                  int i15 = localPlayer5 * 3;
	                  if (i14 == i15)
	                  {
	                    localObject4 = cloneCards(paramPlayer2.cards);
	                    break label403;
	                  }
	                }
	              }
	              k += -1;
	              break label394;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if ((paramPlayer2.type != 2) || (paramPlayer2.max >= 15))
	                break label623;
	              Vector localVector4 = paramPlayer2.cards;
	              Vector localVector5 = concatCards(localVector3, localVector4);
	              paramPlayer2 = i + 1;
	            }
	            while (paramPlayer2 == localPlayer5);
	            int i16 = paramPlayer2;
	            label623: k += -1;
	          }
	        }
	        label633: paramVector = forceGetShun3WithDui(((Card)paramVector.elementAt(0)).num, localPlayer5, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      label788: label797: int j;
	      if (i == 11)
	      {
	        Object localObject1 = null;
	        Player localPlayer6 = k / 4;
	        k = m - 1;
	        if (k < 0)
	        {
	          localObject4 = localObject1;
	          if (localObject4 != null)
	          {
	            localVector3 = new Vector();
	            int i17 = m - 1;
	            j = 0;
	            k = i17;
	          }
	        }
	        else
	        {
	          while (true)
	          {
	            if (k < 0)
	              int i18 = j;
	            do
	            {
	              if (localVector3.size() != localPlayer6)
	                break label1017;
	              paramVector = concatCards(cloneCards((Vector)localObject4), localVector3);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if (paramPlayer2.type == 10)
	              {
	                int i19 = paramPlayer2.max;
	                int i20 = ((Card)paramVector.elementAt(0)).num;
	                if (i19 > i20)
	                {
	                  int i21 = paramPlayer2.length;
	                  int i22 = localPlayer6 * 3;
	                  if (i21 == i22)
	                  {
	                    localObject4 = cloneCards(paramPlayer2.cards);
	                    break label797;
	                  }
	                }
	              }
	              k += -1;
	              break label788;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if ((paramPlayer2.type != 1) || (paramPlayer2.max >= 15))
	                break label1007;
	              Vector localVector6 = paramPlayer2.cards;
	              Vector localVector7 = concatCards(localVector3, localVector6);
	              paramPlayer2 = j + 1;
	            }
	            while (paramPlayer2 == localPlayer6);
	            int i23 = paramPlayer2;
	            label1007: k += -1;
	          }
	        }
	        label1017: paramVector = forceGetShun3WithDan(((Card)paramVector.elementAt(0)).num, localPlayer6, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      Vector localVector1;
	      int i7;
	      if (j == 10)
	      {
	        localVector1 = null;
	        i7 = k / 3;
	        k = m - 1;
	        while (true)
	        {
	          if (k < 0);
	          for (paramPlayer2 = localVector1; ; paramPlayer2 = cloneCards(paramPlayer2.cards))
	          {
	            if (paramPlayer2 == null)
	              break label1278;
	            paramVector = paramPlayer2;
	            break;
	            paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	            if (paramPlayer2.type != 10)
	              break label1268;
	            int i24 = paramPlayer2.max;
	            int i25 = ((Card)paramVector.elementAt(0)).num;
	            if (i24 <= i25)
	              break label1268;
	            int i26 = paramPlayer2.length;
	            int i27 = i7 * 3;
	            if (i26 != i27)
	              break label1268;
	          }
	          label1268: k += -1;
	        }
	        label1278: paramVector = forceGetShun3(((Card)paramVector.elementAt(0)).num, i7, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if (localVector1 == 9)
	      {
	        localVector1 = null;
	        i7 = k / 2;
	        k = m - 1;
	        while (true)
	        {
	          if (k < 0);
	          for (paramPlayer2 = localVector1; ; paramPlayer2 = cloneCards(paramPlayer2.cards))
	          {
	            if (paramPlayer2 == null)
	              break label1539;
	            paramVector = paramPlayer2;
	            break;
	            paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	            if (paramPlayer2.type != 9)
	              break label1529;
	            int i28 = paramPlayer2.max;
	            int i29 = ((Card)paramVector.elementAt(0)).num;
	            if (i28 <= i29)
	              break label1529;
	            int i30 = paramPlayer2.length;
	            int i31 = i7 * 2;
	            if (i30 != i31)
	              break label1529;
	          }
	          label1529: k += -1;
	        }
	        label1539: paramVector = forceGetShun2(((Card)paramVector.elementAt(0)).num, i7, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if (localVector1 == 8)
	      {
	        localVector1 = null;
	        i7 = k;
	        k = m - 1;
	        while (true)
	        {
	          if (k < 0);
	          for (paramPlayer2 = localVector1; ; paramPlayer2 = cloneCards(paramPlayer2.cards))
	          {
	            if (paramPlayer2 == null)
	              break label1788;
	            paramVector = paramPlayer2;
	            break;
	            paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	            if (paramPlayer2.type != 8)
	              break label1778;
	            int i32 = paramPlayer2.max;
	            int i33 = ((Card)paramVector.elementAt(0)).num;
	            if ((i32 <= i33) || (paramPlayer2.length != i7))
	              break label1778;
	          }
	          label1778: k += -1;
	        }
	        label1788: paramVector = forceGetShun(((Card)paramVector.elementAt(0)).num, i7, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if ((localVector1 == 7) || (localVector1 == 6))
	      {
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      label1984: label1989: Vector localVector2;
	      if (localVector1 == 5)
	      {
	        localVector1 = null;
	        k = m - 1;
	        if (k < 0)
	        {
	          if (localVector1 != null)
	          {
	            localVector2 = new Vector();
	            k = m - 1;
	          }
	        }
	        else
	          while (true)
	          {
	            if (k < 0);
	            while (true)
	            {
	              if (localVector2.size() != 2)
	                break label2166;
	              paramVector = concatCards(cloneCards(localVector1), localVector2);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if (paramPlayer2.type == 3)
	              {
	                int i34 = paramPlayer2.max;
	                int i35 = ((Card)paramVector.elementAt(0)).num;
	                if (i34 > i35)
	                {
	                  localVector1 = cloneCards(paramPlayer2.cards);
	                  break label1989;
	                }
	              }
	              k += -1;
	              break label1984;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if ((paramPlayer2.type != 2) || (paramPlayer2.max >= 15))
	                break label2156;
	              Vector localVector8 = paramPlayer2.cards;
	              Vector localVector9 = concatCards(localVector2, localVector8);
	            }
	            label2156: k += -1;
	          }
	        label2166: paramVector = forceGetShun3WithDui(((Card)paramVector.elementAt(0)).num, 1, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if (localVector1 == 4)
	      {
	        localVector1 = null;
	        k = m - 1;
	        label2313: if (k < 0)
	          label2318: if (localVector1 != null)
	          {
	            localVector2 = new Vector();
	            k = m - 1;
	          }
	        else
	          while (true)
	          {
	            if (k < 0);
	            while (true)
	            {
	              if (localVector2.size() != 1)
	                break label2495;
	              paramVector = concatCards(cloneCards(localVector1), localVector2);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if (paramPlayer2.type == 3)
	              {
	                int i36 = paramPlayer2.max;
	                int i37 = ((Card)paramVector.elementAt(0)).num;
	                if (i36 > i37)
	                {
	                  localVector1 = cloneCards(paramPlayer2.cards);
	                  break label2318;
	                }
	              }
	              k += -1;
	              break label2313;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	              if ((paramPlayer2.type != 1) || (paramPlayer2.max >= 15))
	                break label2485;
	              Vector localVector10 = paramPlayer2.cards;
	              Vector localVector11 = concatCards(localVector2, localVector10);
	            }
	            label2485: k += -1;
	          }
	        label2495: paramVector = forceGetShun3WithDan(((Card)paramVector.elementAt(0)).num, 1, paramPlayer1, n);
	        if (paramVector != null)
	        {
	          if ((paramVector.hasLotLoss) || (paramPlayer3 < 15) || (i1 < 15))
	          {
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	          if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	          {
	            paramPlayer1 = outZha(localPlayersCardsInfo);
	            if (paramPlayer1 != null)
	            {
	              paramVector = paramPlayer1;
	              continue;
	            }
	            paramVector = paramVector.spiltCards;
	            continue;
	          }
	        }
	        if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if (localVector1 == 3)
	      {
	        k = m - 1;
	        while (true)
	        {
	          if (k < 0)
	          {
	            paramVector = forceGetShun3(((Card)paramVector.elementAt(0)).num, 1, paramPlayer1, n);
	            if (paramVector == null)
	              break label2820;
	            if ((!paramVector.hasLotLoss) && (paramPlayer3 >= 15) && (i1 >= 15))
	              break label2773;
	            paramVector = paramVector.spiltCards;
	            break;
	          }
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	          if (paramPlayer2.type == 3)
	          {
	            int i38 = paramPlayer2.max;
	            int i39 = ((Card)paramVector.elementAt(0)).num;
	            if ((i38 > i39) && (paramPlayer2.max < 15))
	            {
	              paramVector = cloneCards(paramPlayer2.cards);
	              break;
	            }
	          }
	          k += -1;
	        }
	        label2773: if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	        {
	          paramPlayer1 = outZha(localPlayersCardsInfo);
	          if (paramPlayer1 != null)
	          {
	            paramVector = paramPlayer1;
	            continue;
	          }
	          paramVector = paramVector.spiltCards;
	          continue;
	        }
	        label2820: if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if (localVector1 == 2)
	      {
	        k = m - 1;
	        while (true)
	        {
	          if (k < 0)
	          {
	            paramVector = forceGetDui(((Card)paramVector.elementAt(0)).num, paramPlayer1, n);
	            if (paramVector == null)
	              break label3046;
	            if ((!paramVector.hasLotLoss) && (paramPlayer3 >= 15) && (i1 >= 15))
	              break label2999;
	            paramVector = paramVector.spiltCards;
	            break;
	          }
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	          if (paramPlayer2.type == 2)
	          {
	            int i40 = paramPlayer2.max;
	            int i41 = ((Card)paramVector.elementAt(0)).num;
	            if ((i40 > i41) && (paramPlayer2.max < 15))
	            {
	              paramVector = cloneCards(paramPlayer2.cards);
	              break;
	            }
	          }
	          k += -1;
	        }
	        label2999: if ((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1))
	        {
	          paramPlayer1 = outZha(localPlayersCardsInfo);
	          if (paramPlayer1 != null)
	          {
	            paramVector = paramPlayer1;
	            continue;
	          }
	          paramVector = paramVector.spiltCards;
	          continue;
	        }
	        label3046: if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	        paramVector = null;
	        continue;
	      }
	      if (localVector1 == 1)
	      {
	        k = m - 1;
	        while (true)
	        {
	          if (k < 0)
	          {
	            paramVector = forceGetDan(((Card)paramVector.elementAt(0)).num, paramPlayer1, n);
	            if (paramVector == null)
	              break label3298;
	            paramPlayer1 = paramVector.spiltCards;
	            if ((!paramVector.hasLotLoss) && (paramPlayer3 >= 15) && (i1 >= 15))
	              break label3227;
	            paramVector = paramPlayer1;
	            break;
	          }
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(k);
	          if (paramPlayer2.type == 1)
	          {
	            int i42 = paramPlayer2.max;
	            int i43 = ((Card)paramVector.elementAt(0)).num;
	            if ((i42 > i43) && (paramPlayer2.max < 15))
	            {
	              paramVector = cloneCards(paramPlayer2.cards);
	              break;
	            }
	          }
	          k += -1;
	        }
	        label3227: if (((((Player)localObject2).cardsInfo.step == 1) || (((Player)localObject3).cardsInfo.step == 1)) && (localPlayersCardsInfo.huoNum == 1) && (((Card)paramPlayer1.elementAt(0)).num > 15))
	        {
	          if (localPlayersCardsInfo.danNumTotal < 0)
	          {
	            paramVector = outZha(localPlayersCardsInfo);
	            continue;
	          }
	          paramVector = paramPlayer1;
	          continue;
	        }
	        label3298: if ((n < 10) || (paramPlayer3 < 15) || (i1 < 15))
	        {
	          paramVector = outZha(localPlayersCardsInfo);
	          continue;
	        }
	      }
	      paramVector = null;
	    }
	  }

	  public static Vector<Card> landownerSuppressPeasants(Player paramPlayer1, Player paramPlayer2, Player paramPlayer3)
	  {
	    PlayersCardsInfo localPlayersCardsInfo = paramPlayer1.cardsInfo;
	    Player localPlayer1 = localPlayersCardsInfo.cardsTV.size();
	    Vector localVector1 = paramPlayer1.cards;
	    int m = paramPlayer2.cardsInfo.cardsTV.size();
	    Vector localVector2 = paramPlayer2.cards;
	    int n = localVector2.size();
	    int i1 = paramPlayer3.cardsInfo.cardsTV.size();
	    paramPlayer2 = paramPlayer3.cards;
	    paramPlayer3 = paramPlayer2.size();
	    Player localPlayer3;
	    label150: label154: label184: label191: label222: Object localObject;
	    if ((m == 1) || (i1 == 1))
	    {
	      if ((n != 1) || (paramPlayer3 != 1))
	        break label895;
	      int i2 = ((Card)localVector2.elementAt(0)).num;
	      int i3 = ((Card)paramPlayer2.elementAt(0)).num;
	      Player localPlayer2;
	      if (i2 > i3)
	      {
	        paramPlayer3 = (Card)localVector2.elementAt(0);
	        if (!againstOneCard(localPlayersCardsInfo, paramPlayer3))
	          break label520;
	        localPlayer3 = null;
	        paramPlayer3 = localPlayer1 - 1;
	        if (paramPlayer3 >= 0)
	          break label222;
	        if (localPlayer3 == null)
	          break label466;
	        if (localPlayer3.type != 3)
	          break label304;
	        if (localPlayersCardsInfo.danNum < 1)
	          break label292;
	        localPlayer2 = 0;
	        paramPlayer3 = localPlayer1 - 1;
	        if (paramPlayer3 >= 0)
	          break label256;
	        paramPlayer2 = localPlayer2;
	        if (paramPlayer2 == null)
	          break label474;
	      }
	      label256: label292: for (paramPlayer1 = concatCards(cloneCards(localPlayer3.cards), paramPlayer2); ; paramPlayer1 = cloneCards(localPlayer3.cards))
	      {
	        return paramPlayer1;
	        paramPlayer3 = (Card)paramPlayer2.elementAt(0);
	        break;
	        paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	        if (paramPlayer2.type != 1)
	        {
	          localPlayer3 = paramPlayer2;
	          break label154;
	        }
	        paramPlayer3 += -1;
	        break label150;
	        paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	        if (paramPlayer2.type == 1)
	        {
	          paramPlayer2 = paramPlayer2.cards;
	          break label191;
	        }
	        paramPlayer3 += -1;
	        break label184;
	      }
	      label304: if (localPlayer3.type == 10)
	      {
	        int i4 = localPlayer3.max;
	        paramPlayer3 = 0;
	        int[] arrayOfInt1 = new int[3];
	        arrayOfInt1[0] = i4;
	        arrayOfInt1[1] = i4;
	        arrayOfInt1[2] = i4;
	        paramPlayer2 = takeOutCards(arrayOfInt1, localPlayer2);
	        if (paramPlayer2 == null)
	          break label2086;
	        localObject = paramPlayer2.spiltCards;
	      }
	    }
	    label520: label796: label2078: 
	    while (true)
	    {
	      if (localObject != 0)
	      {
	        if (localPlayersCardsInfo.danNum >= 1)
	        {
	          localPlayer3 = null;
	          paramPlayer3 = localPlayer1 - 1;
	          while (true)
	          {
	            if (paramPlayer3 < 0);
	            for (paramPlayer2 = localPlayer3; ; paramPlayer2 = paramPlayer2.cards)
	            {
	              if (paramPlayer2 == null)
	                break label474;
	              paramPlayer1 = concatCards(cloneCards(localObject), paramPlayer2);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 1)
	                break label437;
	            }
	            label437: paramPlayer3 += -1;
	          }
	        }
	        paramPlayer1 = cloneCards(localObject);
	        break;
	        paramPlayer1 = cloneCards(localPlayer3.cards);
	        break;
	        label466: paramPlayer3 = 0;
	        label468: if (paramPlayer3 < localPlayer1)
	          break label482;
	      }
	      label672: label1699: label2084: 
	      while (true)
	      {
	        label474: paramPlayer1 = outCardsTheFirstTime(paramPlayer1);
	        break;
	        label482: paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	        if (paramPlayer2.type == 1)
	        {
	          paramPlayer1 = cloneCards(paramPlayer2.cards);
	          break;
	        }
	        paramPlayer3 += 1;
	        break label468;
	        localObject = null;
	        paramPlayer2 = localPlayer1 - 1;
	        while (true)
	        {
	          if (paramPlayer2 < 0);
	          while (true)
	          {
	            if (localObject == null)
	              break label592;
	            paramPlayer1 = cloneCards(((CardsType)localObject).cards);
	            break;
	            paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	            if ((paramPlayer1.type != 2) || (paramPlayer1.max > 14))
	              break label584;
	            localObject = paramPlayer1;
	          }
	          label584: paramPlayer2 += -1;
	        }
	        label592: paramPlayer2 = localPlayer1 - 1;
	        while (true)
	        {
	          if (paramPlayer2 < 0);
	          for (paramPlayer3 = (Player)localObject; ; paramPlayer3 = paramPlayer1)
	          {
	            if (paramPlayer3 == null)
	              break label680;
	            paramPlayer1 = cloneCards(paramPlayer3.cards);
	            break;
	            paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	            if (paramPlayer1.type != 1)
	              break label672;
	            int i5 = paramPlayer1.max;
	            int i6 = paramPlayer3.num;
	            if ((i5 <= i6) || (paramPlayer1.max == 17))
	              break label672;
	          }
	          paramPlayer2 += -1;
	        }
	        label680: paramPlayer2 = localPlayer1 - 1;
	        label685: if (paramPlayer2 < 0)
	        {
	          label689: if (paramPlayer3 == null)
	            break label815;
	          if (localPlayersCardsInfo.danNum >= 1)
	          {
	            localObject = null;
	            paramPlayer2 = localPlayer1 - 1;
	          }
	        }
	        else
	        {
	          while (true)
	          {
	            if (paramPlayer2 < 0);
	            for (paramPlayer1 = (Player)localObject; ; paramPlayer1 = paramPlayer1.cards)
	            {
	              if (paramPlayer1 == null)
	                break label815;
	              paramPlayer1 = concatCards(cloneCards(paramPlayer3.cards), paramPlayer1);
	              break;
	              paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	              if (paramPlayer1.type == 3)
	              {
	                paramPlayer3 = paramPlayer1;
	                break label689;
	              }
	              paramPlayer2 += -1;
	              break label685;
	              paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	              if (paramPlayer1.type != 1)
	                break label796;
	            }
	            paramPlayer2 += -1;
	          }
	        }
	        paramPlayer1 = cloneCards(paramPlayer3.cards);
	        break;
	        label815: paramPlayer2 = localPlayer1 - 1;
	        while (true)
	        {
	          if (paramPlayer2 < 0);
	          for (paramPlayer1 = paramPlayer3; ; paramPlayer1 = paramPlayer1)
	          {
	            if (paramPlayer1 == null)
	              break label874;
	            paramPlayer1 = cloneCards(paramPlayer1.cards);
	            break;
	            paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	            if (paramPlayer1.type == 1)
	              break label866;
	          }
	          label866: paramPlayer2 += -1;
	        }
	        label874: paramPlayer1 = cloneCards(((CardsType)localPlayersCardsInfo.cardsTV.elementAt(0)).cards);
	        break;
	        label895: if ((n == 1) || (paramPlayer3 == 1))
	        {
	          if (n == 1)
	          {
	            paramPlayer3 = (Card)localVector2.elementAt(0);
	            if (!againstOneCard(localPlayersCardsInfo, paramPlayer3))
	              break label1301;
	            localPlayer3 = null;
	            paramPlayer3 = localPlayer1 - 1;
	            if (paramPlayer3 >= 0)
	              break label1011;
	            if (localPlayer3 == null)
	              break label1255;
	            if (localPlayer3.type != 3)
	              break label1093;
	            if (localPlayersCardsInfo.danNum < 1)
	              break label1081;
	            localObject = null;
	            paramPlayer3 = localPlayer1 - 1;
	          }
	          while (true)
	          {
	            if (paramPlayer3 < 0);
	            for (paramPlayer2 = (Player)localObject; ; paramPlayer2 = paramPlayer2.cards)
	            {
	              if (paramPlayer2 == null)
	                break label1071;
	              paramPlayer1 = concatCards(cloneCards(localPlayer3.cards), paramPlayer2);
	              break;
	              paramPlayer3 = (Card)paramPlayer2.elementAt(0);
	              break label922;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 1)
	              {
	                localPlayer3 = paramPlayer2;
	                break label942;
	              }
	              paramPlayer3 += -1;
	              break label938;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 1)
	                break label1073;
	            }
	            break label474;
	            paramPlayer3 += -1;
	          }
	          paramPlayer1 = cloneCards(localPlayer3.cards);
	          break;
	          if (localPlayer3.type == 10)
	          {
	            int i7 = localPlayer3.max;
	            paramPlayer3 = 0;
	            int[] arrayOfInt2 = new int[3];
	            arrayOfInt2[0] = i7;
	            arrayOfInt2[1] = i7;
	            arrayOfInt2[2] = i7;
	            paramPlayer2 = takeOutCards(arrayOfInt2, (Vector)localObject);
	            if (paramPlayer2 == null)
	              break label2080;
	            localObject = paramPlayer2.spiltCards;
	          }
	        }
	        while (true)
	        {
	          label938: label942: label1011: if (localObject == 0)
	            break label2084;
	          label1071: label1073: label1081: label1093: if (localPlayersCardsInfo.danNum >= 1)
	          {
	            localPlayer3 = null;
	            paramPlayer3 = localPlayer1 - 1;
	            while (true)
	            {
	              if (paramPlayer3 < 0);
	              for (paramPlayer2 = localPlayer3; ; paramPlayer2 = paramPlayer2.cards)
	              {
	                if (paramPlayer2 == null)
	                  break label1224;
	                paramPlayer1 = concatCards(cloneCards(localObject), paramPlayer2);
	                break;
	                paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	                if (paramPlayer2.type != 1)
	                  break label1226;
	              }
	              label1224: break label474;
	              label1226: paramPlayer3 += -1;
	            }
	          }
	          paramPlayer1 = cloneCards(localObject);
	          break;
	          paramPlayer1 = cloneCards(localPlayer3.cards);
	          break;
	          label1255: paramPlayer3 = 0;
	          while (true)
	          {
	            if (paramPlayer3 >= localPlayer1)
	              break label1299;
	            paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	            if (paramPlayer2.type == 1)
	            {
	              paramPlayer1 = cloneCards(paramPlayer2.cards);
	              break;
	            }
	            paramPlayer3 += 1;
	          }
	          break label474;
	          localObject = null;
	          paramPlayer2 = localPlayer1 - 1;
	          while (true)
	          {
	            if (paramPlayer2 < 0);
	            while (true)
	            {
	              if (localObject == null)
	                break label1373;
	              paramPlayer1 = cloneCards(((CardsType)localObject).cards);
	              break;
	              paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	              if ((paramPlayer1.type != 2) || (paramPlayer1.max > 14))
	                break label1365;
	              localObject = paramPlayer1;
	            }
	            label1365: paramPlayer2 += -1;
	          }
	          label1373: paramPlayer2 = localPlayer1 - 1;
	          while (true)
	          {
	            if (paramPlayer2 < 0);
	            for (paramPlayer3 = (Player)localObject; ; paramPlayer3 = paramPlayer1)
	            {
	              if (paramPlayer3 == null)
	                break label1461;
	              paramPlayer1 = cloneCards(paramPlayer3.cards);
	              break;
	              paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	              if (paramPlayer1.type != 1)
	                break label1453;
	              int i8 = paramPlayer1.max;
	              int i9 = paramPlayer3.num;
	              if ((i8 <= i9) || (paramPlayer1.max == 17))
	                break label1453;
	            }
	            label1453: paramPlayer2 += -1;
	          }
	          label1461: paramPlayer2 = localPlayer1 - 1;
	          label1466: if (paramPlayer2 < 0)
	          {
	            label1470: if (paramPlayer3 == null)
	              break label1596;
	            if (localPlayersCardsInfo.danNum >= 1)
	            {
	              localObject = null;
	              paramPlayer2 = localPlayer1 - 1;
	            }
	          }
	          else
	          {
	            while (true)
	            {
	              if (paramPlayer2 < 0);
	              for (paramPlayer1 = (Player)localObject; ; paramPlayer1 = paramPlayer1.cards)
	              {
	                if (paramPlayer1 == null)
	                  break label1596;
	                paramPlayer1 = concatCards(cloneCards(paramPlayer3.cards), paramPlayer1);
	                break;
	                paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	                if (paramPlayer1.type == 3)
	                {
	                  paramPlayer3 = paramPlayer1;
	                  break label1470;
	                }
	                paramPlayer2 += -1;
	                break label1466;
	                paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	                if (paramPlayer1.type != 1)
	                  break label1577;
	              }
	              paramPlayer2 += -1;
	            }
	          }
	          label1577: paramPlayer1 = cloneCards(paramPlayer3.cards);
	          break;
	          label1596: paramPlayer2 = localPlayer1 - 1;
	          while (true)
	          {
	            if (paramPlayer2 < 0);
	            for (paramPlayer1 = paramPlayer3; ; paramPlayer1 = paramPlayer1)
	            {
	              if (paramPlayer1 == null)
	                break label1655;
	              paramPlayer1 = cloneCards(paramPlayer1.cards);
	              break;
	              paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	              if (paramPlayer1.type == 1)
	                break label1647;
	            }
	            label1647: paramPlayer2 += -1;
	          }
	          label1655: paramPlayer1 = cloneCards(((CardsType)localPlayersCardsInfo.cardsTV.elementAt(0)).cards);
	          break;
	          if ((n != 2) && (paramPlayer3 != 2))
	            break label474;
	          localPlayer3 = null;
	          paramPlayer3 = localPlayer1 - 1;
	          if (paramPlayer3 < 0)
	          {
	            if (localPlayer3 == null)
	              break label2000;
	            if (localPlayer3.type != 3)
	              break label1838;
	            if (localPlayersCardsInfo.danNum >= 1)
	            {
	              localObject = null;
	              paramPlayer3 = localPlayer1 - 1;
	            }
	          }
	          else
	          {
	            while (true)
	            {
	              if (paramPlayer3 < 0);
	              for (paramPlayer2 = (Player)localObject; ; paramPlayer2 = paramPlayer2.cards)
	              {
	                if (paramPlayer2 == null)
	                  break label1816;
	                paramPlayer1 = concatCards(cloneCards(localPlayer3.cards), paramPlayer2);
	                break;
	                paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	                if (paramPlayer2.type != 2)
	                {
	                  localPlayer3 = paramPlayer2;
	                  break label1699;
	                }
	                paramPlayer3 += -1;
	                break label1695;
	                paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	                if (paramPlayer2.type != 1)
	                  break label1818;
	              }
	              break label474;
	              paramPlayer3 += -1;
	            }
	          }
	          paramPlayer1 = cloneCards(localPlayer3.cards);
	          break;
	          label1838: if (localPlayer3.type == 10)
	          {
	            int i10 = localPlayer3.max;
	            int[] arrayOfInt3 = new int[3];
	            arrayOfInt3[0] = i10;
	            arrayOfInt3[1] = i10;
	            arrayOfInt3[2] = i10;
	            paramPlayer3 = 0;
	            paramPlayer2 = takeOutCards(arrayOfInt3, (Vector)localObject);
	            if (paramPlayer2 == null)
	              break label2074;
	            localObject = paramPlayer2.spiltCards;
	          }
	          while (true)
	          {
	            if (localObject == 0)
	              break label2078;
	            if (localPlayersCardsInfo.danNum >= 1)
	            {
	              localPlayer3 = null;
	              paramPlayer3 = localPlayer1 - 1;
	              while (true)
	              {
	                if (paramPlayer3 < 0);
	                for (paramPlayer2 = localPlayer3; ; paramPlayer2 = paramPlayer2.cards)
	                {
	                  if (paramPlayer2 == null)
	                    break label1969;
	                  paramPlayer1 = concatCards(cloneCards(localObject), paramPlayer2);
	                  break;
	                  paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	                  if (paramPlayer2.type != 1)
	                    break label1971;
	                }
	                label1969: break label474;
	                label1971: paramPlayer3 += -1;
	              }
	            }
	            paramPlayer1 = cloneCards(localObject);
	            break;
	            paramPlayer1 = cloneCards(localPlayer3.cards);
	            break;
	            label2000: paramPlayer3 = localPlayer1 - 1;
	            while (true)
	            {
	              if (paramPlayer3 < 0)
	                break label2072;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type == 2)
	              {
	                int i11 = paramPlayer2.max;
	                int[] arrayOfInt4 = new int[1];
	                arrayOfInt4[0] = i11;
	                paramPlayer2 = takeOutCards(arrayOfInt4, (Vector)localObject);
	                if (paramPlayer2 != null)
	                {
	                  paramPlayer1 = paramPlayer2.spiltCards;
	                  break;
	                }
	              }
	              paramPlayer3 += -1;
	            }
	            break label474;
	            int i = paramPlayer3;
	          }
	          break label474;
	          int j = paramPlayer3;
	        }
	      }
	      label1695: label2080: label2086: int k = paramPlayer3;
	    }
	  }

	  private static int[] listToArray(List<Integer> paramList)
	  {
	    int i = paramList.size();
	    int[] arrayOfInt = new int[i];
	    int j = 0;
	    while (true)
	    {
	      if (j >= i)
	        return arrayOfInt;
	      int k = ((Integer)paramList.get(j)).intValue();
	      arrayOfInt[j] = k;
	      j += 1;
	    }
	  }

	  public static PlayersCardsInfo makeCards(Vector<Card> paramVector)
	  {
	    if ((paramVector == null) || (paramVector.size() == 0))
	      paramVector = null;
	    int k;
	    Object localObject4;
	    while (true)
	    {
	      return paramVector;
	      localObject1 = sortByBigOrSmall(paramVector);
	      paramVector = getAllCardsKind((Vector)localObject1);
	      Vector localVector1 = new Vector();
	      Object localObject2;
	      if (paramVector.huo)
	      {
	        localObject2 = takeOutCards(new int[] { 17, 16 }, (Vector)localObject1);
	        if (localObject2 != null)
	        {
	          CardsType localCardsType1 = new CardsType();
	          Vector localVector2 = ((CardsAfterSpilt)localObject2).spiltCards;
	          localCardsType1.cards = localVector2;
	          localCardsType1.type = 14;
	          localCardsType1.max = 17;
	          localCardsType1.length = 2;
	          boolean bool1 = localVector1.add(localCardsType1);
	          localObject1 = ((CardsAfterSpilt)localObject2).leftCards;
	        }
	      }
	      int j = paramVector.siz.size();
	      k = 0;
	      localObject4 = localObject1;
	      if (k >= j)
	      {
	        if ((paramVector.san.size() <= 0) || (((Integer)paramVector.san.get(0)).intValue() != 15))
	          break;
	        localObject2 = takeOutCards(new int[] { 15, 15, 15 }, localObject4);
	        if (localObject2 == null)
	          break;
	        CardsType localCardsType2 = new CardsType();
	        Vector localVector3 = ((CardsAfterSpilt)localObject2).spiltCards;
	        localCardsType2.cards = localVector3;
	        localCardsType2.type = 3;
	        localCardsType2.max = 15;
	        localCardsType2.length = 3;
	        boolean bool2 = localVector1.add(localCardsType2);
	        localObject2 = ((CardsAfterSpilt)localObject2).leftCards;
	        label256: if ((paramVector.dui.size() > 0) && (((Integer)paramVector.dui.get(0)).intValue() == 15))
	        {
	          paramVector = takeOutCards(new int[] { 15, 15 }, (Vector)localObject2);
	          if (paramVector != null)
	          {
	            CardsType localCardsType3 = new CardsType();
	            Vector localVector4 = paramVector.spiltCards;
	            localCardsType3.cards = localVector4;
	            localCardsType3.type = 2;
	            localCardsType3.max = 15;
	            localCardsType3.length = 2;
	            boolean bool3 = localVector1.add(localCardsType3);
	            localObject2 = paramVector.leftCards;
	          }
	        }
	        CardsAfterMake localCardsAfterMake = new CardsAfterMake();
	        localCardsAfterMake.spiltCards = localVector1;
	        localCardsAfterMake.leftCards = ((Vector)localObject2);
	        paramVector = getTheBestPattern(getAllPattern(localCardsAfterMake));
	        continue;
	      }
	      else
	      {
	        int i = ((Integer)paramVector.siz.get(k)).intValue();
	        int[] arrayOfInt = new int[4];
	        arrayOfInt[0] = i;
	        arrayOfInt[1] = i;
	        arrayOfInt[2] = i;
	        arrayOfInt[3] = i;
	        localObject1 = takeOutCards(arrayOfInt, localObject4);
	        if (localObject1 == null)
	          break label525;
	        CardsType localCardsType4 = new CardsType();
	        Vector localVector5 = ((CardsAfterSpilt)localObject1).spiltCards;
	        localCardsType4.cards = localVector5;
	        localCardsType4.type = 13;
	        localCardsType4.max = i;
	        localCardsType4.length = 4;
	        boolean bool4 = localVector1.add(localCardsType4);
	      }
	    }
	    label525: for (Object localObject1 = ((CardsAfterSpilt)localObject1).leftCards; ; localObject1 = localObject4)
	    {
	      k += 1;
	      localObject4 = localObject1;
	      break;
	      Object localObject3 = localObject4;
	      break label256;
	    }
	  }

	  public static Vector<Card> outCardsTheFirstTime(Player paramPlayer)
	  {
	    Vector localVector1 = null;
	    PlayersCardsInfo localPlayersCardsInfo = paramPlayer.cardsInfo;
	    int i = localPlayersCardsInfo.step;
	    int j = localPlayersCardsInfo.danNumTotal * 2;
	    int k = localPlayersCardsInfo.twoAndJokerNum;
	    if (j - k <= 0)
	    {
	      if (i == 4)
	      {
	        int m = localPlayersCardsInfo.zhaNum;
	        int n = localPlayersCardsInfo.huoNum;
	        if (m + n >= 2)
	        {
	          if (0 == 0)
	            localVector1 = getZha(localPlayersCardsInfo);
	          if (localVector1 == null)
	            localVector1 = getHuo(localPlayersCardsInfo);
	        }
	      }
	      if (i == 2)
	      {
	        if (localVector1 == null)
	          localVector1 = getZha(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getHuo(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getFeiji(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getShun2(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getShun(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getSan(localPlayersCardsInfo);
	      }
	      if (localVector1 == null)
	        localVector1 = getFeiji(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getShun2(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getShun(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getSan(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getDanOrDui(localPlayersCardsInfo);
	      if (i > 2)
	      {
	        if (localVector1 == null)
	          localVector1 = getZha(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getHuo(localPlayersCardsInfo);
	      }
	      if (i == 4)
	      {
	        int i1 = localPlayersCardsInfo.zhaNum;
	        int i2 = localPlayersCardsInfo.huoNum;
	        if (i1 + i2 >= 2);
	      }
	      else
	      {
	        if (localVector1 == null)
	          localVector1 = getZha(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getHuo(localPlayersCardsInfo);
	      }
	    }
	    while (true)
	    {
	      if (localVector1 == null)
	      {
	        Vector localVector2 = localPlayersCardsInfo.cardsTV;
	        int i3 = i - 1;
	        localVector1 = cloneCards(((CardsType)localVector2.elementAt(i3)).cards);
	      }
	      return localVector1;
	      if (i == 4)
	      {
	        int i4 = localPlayersCardsInfo.zhaNum;
	        int i5 = localPlayersCardsInfo.huoNum;
	        if (i4 + i5 >= 2)
	        {
	          if (0 == 0)
	            localVector1 = getZha(localPlayersCardsInfo);
	          if (localVector1 == null)
	            localVector1 = getHuo(localPlayersCardsInfo);
	        }
	      }
	      if (i == 2)
	      {
	        if (localVector1 == null)
	          localVector1 = getZha(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getHuo(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getFeiji(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getShun2(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getShun(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getSan(localPlayersCardsInfo);
	      }
	      if (localVector1 == null)
	      {
	        Vector localVector3 = getSan(localPlayersCardsInfo);
	        if ((localVector3 != null) && (localVector3.size() != 0) && (((Card)localVector3.elementAt(0)).num <= 11))
	          localVector1 = getSan(localPlayersCardsInfo);
	      }
	      if (localVector1 == null)
	        localVector1 = getDanOrDui(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getFeiji(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getShun2(localPlayersCardsInfo);
	      if (localVector1 == null)
	        localVector1 = getShun(localPlayersCardsInfo);
	      if (i > 2)
	      {
	        if (localVector1 == null)
	          localVector1 = getZha(localPlayersCardsInfo);
	        if (localVector1 == null)
	          localVector1 = getHuo(localPlayersCardsInfo);
	      }
	      if (i == 4)
	      {
	        int i6 = localPlayersCardsInfo.zhaNum;
	        int i7 = localPlayersCardsInfo.huoNum;
	        if (i6 + i7 >= 2)
	          continue;
	      }
	      if (localVector1 == null)
	        localVector1 = getZha(localPlayersCardsInfo);
	      if (localVector1 != null)
	        continue;
	      localVector1 = getHuo(localPlayersCardsInfo);
	    }
	  }

	  private static Vector<Card> outZha(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    int i = paramPlayersCardsInfo.huoNum;
	    int j = paramPlayersCardsInfo.zhaNum;
	    Vector localVector;
	    if (i + j == 0)
	    {
	      localVector = null;
	      return localVector;
	    }
	    int k = paramPlayersCardsInfo.step - 1;
	    while (true)
	    {
	      if (k < 0)
	      {
	        localVector = null;
	        break;
	      }
	      CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(k);
	      if ((localCardsType.type == 13) || (localCardsType.type == 14))
	      {
	        localVector = cloneCards(localCardsType.cards);
	        break;
	      }
	      k += -1;
	    }
	  }

	  // ERROR //
	  public static Vector<Card> peasantOutCards(Vector<Card> paramVector, Player paramPlayer1, Player paramPlayer2, Player paramPlayer3)
	  {
	    // Byte code:
	    //   0: aload_0
	    //   1: invokestatic 69	com/philzhu/www/ddz/AI:getType	(Ljava/util/Vector;)I
	    //   4: istore 4
	    //   6: aload_0
	    //   7: invokevirtual 73	java/util/Vector:size	()I
	    //   10: istore 5
	    //   12: aload_1
	    //   13: getfield 360	com/philzhu/www/ddz/Player:cardsInfo	Lcom/philzhu/www/ddz/PlayersCardsInfo;
	    //   16: astore 6
	    //   18: aload 6
	    //   20: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   23: istore 7
	    //   25: aload_1
	    //   26: getfield 360	com/philzhu/www/ddz/Player:cardsInfo	Lcom/philzhu/www/ddz/PlayersCardsInfo;
	    //   29: getfield 179	com/philzhu/www/ddz/PlayersCardsInfo:pn	I
	    //   32: istore 8
	    //   34: aload_1
	    //   35: getfield 361	com/philzhu/www/ddz/Player:cards	Ljava/util/Vector;
	    //   38: astore_1
	    //   39: aload_2
	    //   40: invokevirtual 102	com/philzhu/www/ddz/Player:getOutCards	()Ljava/util/Vector;
	    //   43: ifnull +95 -> 138
	    //   46: aload_2
	    //   47: invokevirtual 102	com/philzhu/www/ddz/Player:getOutCards	()Ljava/util/Vector;
	    //   50: invokevirtual 73	java/util/Vector:size	()I
	    //   53: ifeq +85 -> 138
	    //   56: aload_2
	    //   57: astore 9
	    //   59: aload_2
	    //   60: getfield 466	com/philzhu/www/ddz/Player:isDizhu	Z
	    //   63: ifeq +81 -> 144
	    //   66: aload_2
	    //   67: astore_2
	    //   68: aload_3
	    //   69: astore 10
	    //   71: aload 9
	    //   73: getfield 466	com/philzhu/www/ddz/Player:isDizhu	Z
	    //   76: istore 9
	    //   78: aload_2
	    //   79: getfield 360	com/philzhu/www/ddz/Player:cardsInfo	Lcom/philzhu/www/ddz/PlayersCardsInfo;
	    //   82: getfield 179	com/philzhu/www/ddz/PlayersCardsInfo:pn	I
	    //   85: istore 11
	    //   87: aload_2
	    //   88: getfield 361	com/philzhu/www/ddz/Player:cards	Ljava/util/Vector;
	    //   91: astore 12
	    //   93: aload_2
	    //   94: getfield 360	com/philzhu/www/ddz/Player:cardsInfo	Lcom/philzhu/www/ddz/PlayersCardsInfo;
	    //   97: astore 13
	    //   99: aload 12
	    //   101: invokevirtual 73	java/util/Vector:size	()I
	    //   104: istore 14
	    //   106: iconst_1
	    //   107: istore 15
	    //   109: iload 14
	    //   111: iload 15
	    //   113: if_icmpne +43 -> 156
	    //   116: iconst_1
	    //   117: istore 16
	    //   119: iload 4
	    //   121: istore 17
	    //   123: bipush 14
	    //   125: istore 18
	    //   127: iload 17
	    //   129: iload 18
	    //   131: if_icmpne +31 -> 162
	    //   134: aconst_null
	    //   135: astore_0
	    //   136: aload_0
	    //   137: areturn
	    //   138: aload_3
	    //   139: astore 9
	    //   141: goto -82 -> 59
	    //   144: aload_2
	    //   145: astore 19
	    //   147: aload_3
	    //   148: astore_2
	    //   149: aload 19
	    //   151: astore 10
	    //   153: goto -82 -> 71
	    //   156: iconst_0
	    //   157: istore 16
	    //   159: goto -40 -> 119
	    //   162: iload 7
	    //   164: istore 20
	    //   166: iconst_1
	    //   167: istore 21
	    //   169: iload 20
	    //   171: iload 21
	    //   173: if_icmpne +115 -> 288
	    //   176: aload_1
	    //   177: invokestatic 69	com/philzhu/www/ddz/AI:getType	(Ljava/util/Vector;)I
	    //   180: istore_2
	    //   181: iload_2
	    //   182: istore 22
	    //   184: bipush 14
	    //   186: istore 23
	    //   188: iload 22
	    //   190: iload 23
	    //   192: if_icmpeq +17 -> 209
	    //   195: iload_2
	    //   196: istore 24
	    //   198: bipush 13
	    //   200: istore 25
	    //   202: iload 24
	    //   204: iload 25
	    //   206: if_icmpne +11 -> 217
	    //   209: aload_1
	    //   210: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   213: astore_0
	    //   214: goto -78 -> 136
	    //   217: iload_2
	    //   218: istore 26
	    //   220: iload 4
	    //   222: istore 27
	    //   224: iload 26
	    //   226: iload 27
	    //   228: if_icmpne +60 -> 288
	    //   231: aload_1
	    //   232: iconst_0
	    //   233: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   236: checkcast 57	com/philzhu/www/ddz/Card
	    //   239: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   242: istore 28
	    //   244: aload_0
	    //   245: astore 29
	    //   247: iconst_0
	    //   248: istore 30
	    //   250: aload 29
	    //   252: iload 30
	    //   254: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   257: checkcast 57	com/philzhu/www/ddz/Card
	    //   260: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   263: istore 31
	    //   265: iload 28
	    //   267: istore 32
	    //   269: iload 31
	    //   271: istore 33
	    //   273: iload 32
	    //   275: iload 33
	    //   277: if_icmple +11 -> 288
	    //   280: aload_1
	    //   281: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   284: astore_0
	    //   285: goto -149 -> 136
	    //   288: iload 7
	    //   290: istore 34
	    //   292: iconst_2
	    //   293: istore 35
	    //   295: iload 34
	    //   297: iload 35
	    //   299: if_icmpne +20 -> 319
	    //   302: aload 6
	    //   304: getfield 341	com/philzhu/www/ddz/PlayersCardsInfo:huoNum	I
	    //   307: ifle +12 -> 319
	    //   310: aload 6
	    //   312: invokestatic 418	com/philzhu/www/ddz/AI:getHuo	(Lcom/philzhu/www/ddz/PlayersCardsInfo;)Ljava/util/Vector;
	    //   315: astore_0
	    //   316: goto -180 -> 136
	    //   319: iload 4
	    //   321: istore 36
	    //   323: bipush 13
	    //   325: istore 37
	    //   327: iload 36
	    //   329: iload 37
	    //   331: if_icmpne +249 -> 580
	    //   334: aload 6
	    //   336: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   339: iconst_1
	    //   340: isub
	    //   341: istore_3
	    //   342: iload_3
	    //   343: ifge +8 -> 351
	    //   346: aconst_null
	    //   347: astore_0
	    //   348: goto -212 -> 136
	    //   351: aload 6
	    //   353: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   356: iload_3
	    //   357: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   360: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   363: astore_2
	    //   364: aload_2
	    //   365: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   368: bipush 13
	    //   370: if_icmpeq +12 -> 382
	    //   373: aload_2
	    //   374: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   377: bipush 14
	    //   379: if_icmpne +193 -> 572
	    //   382: aload_2
	    //   383: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   386: istore 38
	    //   388: aload_0
	    //   389: astore 39
	    //   391: iconst_0
	    //   392: istore 40
	    //   394: aload 39
	    //   396: iload 40
	    //   398: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   401: checkcast 57	com/philzhu/www/ddz/Card
	    //   404: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   407: istore 41
	    //   409: iload 38
	    //   411: iload 41
	    //   413: if_icmple +159 -> 572
	    //   416: aload_2
	    //   417: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   420: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   423: astore_2
	    //   424: iload 16
	    //   426: ifeq +76 -> 502
	    //   429: aload 12
	    //   431: iconst_0
	    //   432: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   435: checkcast 57	com/philzhu/www/ddz/Card
	    //   438: astore 42
	    //   440: aload_2
	    //   441: astore 43
	    //   443: aload_1
	    //   444: astore 44
	    //   446: aload 42
	    //   448: astore 45
	    //   450: aload 43
	    //   452: aload 44
	    //   454: aload 45
	    //   456: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   459: ifeq +8 -> 467
	    //   462: aload_2
	    //   463: astore_0
	    //   464: goto -328 -> 136
	    //   467: iload 9
	    //   469: ifne +28 -> 497
	    //   472: aload 10
	    //   474: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   477: ifeq +8 -> 485
	    //   480: aconst_null
	    //   481: astore_0
	    //   482: goto -346 -> 136
	    //   485: iload 8
	    //   487: bipush 10
	    //   489: if_icmpge +13 -> 502
	    //   492: aload_2
	    //   493: astore_0
	    //   494: goto -358 -> 136
	    //   497: aload_2
	    //   498: astore_0
	    //   499: goto -363 -> 136
	    //   502: aload 13
	    //   504: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   507: iconst_3
	    //   508: if_icmpgt +24 -> 532
	    //   511: aload 13
	    //   513: getfield 341	com/philzhu/www/ddz/PlayersCardsInfo:huoNum	I
	    //   516: ifgt +11 -> 527
	    //   519: aload 13
	    //   521: getfield 409	com/philzhu/www/ddz/PlayersCardsInfo:zhaNum	I
	    //   524: ifle +8 -> 532
	    //   527: aconst_null
	    //   528: astore_0
	    //   529: goto -393 -> 136
	    //   532: iload 8
	    //   534: bipush 10
	    //   536: if_icmplt +31 -> 567
	    //   539: iload 9
	    //   541: ifeq +31 -> 572
	    //   544: iload 8
	    //   546: bipush 25
	    //   548: if_icmplt +19 -> 567
	    //   551: iload 11
	    //   553: bipush 15
	    //   555: if_icmplt +12 -> 567
	    //   558: aload 13
	    //   560: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   563: iconst_1
	    //   564: if_icmpne +8 -> 572
	    //   567: aload_2
	    //   568: astore_0
	    //   569: goto -433 -> 136
	    //   572: iload_3
	    //   573: bipush 255
	    //   575: iadd
	    //   576: istore_3
	    //   577: goto -235 -> 342
	    //   580: iload 4
	    //   582: istore 46
	    //   584: bipush 12
	    //   586: istore 47
	    //   588: iload 46
	    //   590: iload 47
	    //   592: if_icmpne +603 -> 1195
	    //   595: iconst_0
	    //   596: istore 7
	    //   598: iload 5
	    //   600: iconst_5
	    //   601: idiv
	    //   602: istore 48
	    //   604: aload 6
	    //   606: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   609: iconst_1
	    //   610: isub
	    //   611: istore_3
	    //   612: iload_3
	    //   613: ifge +156 -> 769
	    //   616: iload 7
	    //   618: istore 49
	    //   620: aload 49
	    //   622: ifnull +365 -> 987
	    //   625: new 43	java/util/Vector
	    //   628: dup
	    //   629: invokespecial 111	java/util/Vector:<init>	()V
	    //   632: astore 50
	    //   634: aload 6
	    //   636: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   639: iconst_1
	    //   640: isub
	    //   641: istore 51
	    //   643: iconst_0
	    //   644: istore 7
	    //   646: iload 51
	    //   648: istore_3
	    //   649: iload_3
	    //   650: ifge +238 -> 888
	    //   653: iload 7
	    //   655: istore 52
	    //   657: aload 50
	    //   659: invokevirtual 73	java/util/Vector:size	()I
	    //   662: istore 53
	    //   664: iload 48
	    //   666: iconst_2
	    //   667: imul
	    //   668: istore 54
	    //   670: iload 53
	    //   672: istore 55
	    //   674: iload 54
	    //   676: istore 56
	    //   678: iload 55
	    //   680: iload 56
	    //   682: if_icmpne +305 -> 987
	    //   685: aload 49
	    //   687: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   690: astore 57
	    //   692: aload 50
	    //   694: astore 58
	    //   696: aload 57
	    //   698: aload 58
	    //   700: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   703: astore_0
	    //   704: iload 16
	    //   706: ifeq -570 -> 136
	    //   709: aload 12
	    //   711: astore 59
	    //   713: iconst_0
	    //   714: istore 60
	    //   716: aload 59
	    //   718: iload 60
	    //   720: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   723: checkcast 57	com/philzhu/www/ddz/Card
	    //   726: astore 61
	    //   728: aload_0
	    //   729: astore 62
	    //   731: aload 12
	    //   733: astore 63
	    //   735: aload 61
	    //   737: astore 64
	    //   739: aload 62
	    //   741: aload 63
	    //   743: aload 64
	    //   745: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   748: ifne -612 -> 136
	    //   751: iload 9
	    //   753: ifne -617 -> 136
	    //   756: aload 10
	    //   758: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   761: ifeq -625 -> 136
	    //   764: aconst_null
	    //   765: astore_0
	    //   766: goto -630 -> 136
	    //   769: aload 6
	    //   771: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   774: iload_3
	    //   775: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   778: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   781: astore_2
	    //   782: aload_2
	    //   783: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   786: istore 65
	    //   788: bipush 10
	    //   790: istore 66
	    //   792: iload 65
	    //   794: iload 66
	    //   796: if_icmpne +84 -> 880
	    //   799: aload_2
	    //   800: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   803: istore 67
	    //   805: aload_0
	    //   806: astore 68
	    //   808: iconst_0
	    //   809: istore 69
	    //   811: aload 68
	    //   813: iload 69
	    //   815: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   818: checkcast 57	com/philzhu/www/ddz/Card
	    //   821: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   824: istore 70
	    //   826: iload 67
	    //   828: istore 71
	    //   830: iload 70
	    //   832: istore 72
	    //   834: iload 71
	    //   836: iload 72
	    //   838: if_icmple +42 -> 880
	    //   841: aload_2
	    //   842: getfield 63	com/philzhu/www/ddz/CardsType:length	I
	    //   845: istore 73
	    //   847: iload 48
	    //   849: iconst_3
	    //   850: imul
	    //   851: istore 74
	    //   853: iload 73
	    //   855: istore 75
	    //   857: iload 74
	    //   859: istore 76
	    //   861: iload 75
	    //   863: iload 76
	    //   865: if_icmpne +15 -> 880
	    //   868: aload_2
	    //   869: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   872: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   875: astore 49
	    //   877: goto -257 -> 620
	    //   880: iload_3
	    //   881: bipush 255
	    //   883: iadd
	    //   884: istore_3
	    //   885: goto -273 -> 612
	    //   888: aload 6
	    //   890: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   893: iload_3
	    //   894: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   897: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   900: astore_2
	    //   901: aload_2
	    //   902: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   905: istore 77
	    //   907: iconst_2
	    //   908: istore 78
	    //   910: iload 77
	    //   912: iload 78
	    //   914: if_icmpne +65 -> 979
	    //   917: aload_2
	    //   918: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   921: istore 79
	    //   923: bipush 15
	    //   925: istore 80
	    //   927: iload 79
	    //   929: iload 80
	    //   931: if_icmpge +48 -> 979
	    //   934: aload_2
	    //   935: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   938: astore 81
	    //   940: aload 50
	    //   942: astore 82
	    //   944: aload 81
	    //   946: astore 83
	    //   948: aload 82
	    //   950: aload 83
	    //   952: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   955: astore 84
	    //   957: iload 7
	    //   959: iconst_1
	    //   960: iadd
	    //   961: istore_2
	    //   962: iload_2
	    //   963: istore 85
	    //   965: iload 48
	    //   967: istore 86
	    //   969: iload 85
	    //   971: iload 86
	    //   973: if_icmpeq -316 -> 657
	    //   976: iload_2
	    //   977: istore 87
	    //   979: iload_3
	    //   980: bipush 255
	    //   982: iadd
	    //   983: istore_3
	    //   984: goto -335 -> 649
	    //   987: aload_0
	    //   988: astore 88
	    //   990: iconst_0
	    //   991: istore 89
	    //   993: aload 88
	    //   995: iload 89
	    //   997: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1000: checkcast 57	com/philzhu/www/ddz/Card
	    //   1003: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   1006: istore 90
	    //   1008: iload 48
	    //   1010: istore 91
	    //   1012: aload_1
	    //   1013: astore 92
	    //   1015: iload 8
	    //   1017: istore 93
	    //   1019: iload 90
	    //   1021: iload 91
	    //   1023: aload 92
	    //   1025: iload 93
	    //   1027: invokestatic 420	com/philzhu/www/ddz/AI:forceGetShun3WithDui	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   1030: astore_2
	    //   1031: aload_2
	    //   1032: ifnull +163 -> 1195
	    //   1035: aload_2
	    //   1036: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   1039: ifeq +96 -> 1135
	    //   1042: iload 9
	    //   1044: ifeq +91 -> 1135
	    //   1047: iload 16
	    //   1049: ifeq +78 -> 1127
	    //   1052: aload_2
	    //   1053: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1056: astore 94
	    //   1058: aload 12
	    //   1060: astore 95
	    //   1062: iconst_0
	    //   1063: istore 96
	    //   1065: aload 95
	    //   1067: iload 96
	    //   1069: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1072: checkcast 57	com/philzhu/www/ddz/Card
	    //   1075: astore 97
	    //   1077: aload 94
	    //   1079: astore 98
	    //   1081: aload 12
	    //   1083: astore 99
	    //   1085: aload 97
	    //   1087: astore 100
	    //   1089: aload 98
	    //   1091: aload 99
	    //   1093: aload 100
	    //   1095: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   1098: ifeq +11 -> 1109
	    //   1101: aload_2
	    //   1102: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1105: astore_0
	    //   1106: goto -970 -> 136
	    //   1109: iload 9
	    //   1111: ifne +16 -> 1127
	    //   1114: aload 10
	    //   1116: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   1119: ifeq +8 -> 1127
	    //   1122: aconst_null
	    //   1123: astore_0
	    //   1124: goto -988 -> 136
	    //   1127: aload_2
	    //   1128: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1131: astore_0
	    //   1132: goto -996 -> 136
	    //   1135: iload 9
	    //   1137: ifeq +58 -> 1195
	    //   1140: iload 8
	    //   1142: istore 101
	    //   1144: bipush 25
	    //   1146: istore 102
	    //   1148: iload 101
	    //   1150: iload 102
	    //   1152: if_icmplt +35 -> 1187
	    //   1155: iload 11
	    //   1157: istore 103
	    //   1159: bipush 15
	    //   1161: istore 104
	    //   1163: iload 103
	    //   1165: iload 104
	    //   1167: if_icmplt +20 -> 1187
	    //   1170: aload 13
	    //   1172: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   1175: istore 105
	    //   1177: iconst_1
	    //   1178: istore 106
	    //   1180: iload 105
	    //   1182: iload 106
	    //   1184: if_icmpne +11 -> 1195
	    //   1187: aload_2
	    //   1188: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1191: astore_0
	    //   1192: goto -1056 -> 136
	    //   1195: iload 4
	    //   1197: istore 107
	    //   1199: bipush 11
	    //   1201: istore 108
	    //   1203: iload 107
	    //   1205: iload 108
	    //   1207: if_icmpne +593 -> 1800
	    //   1210: iconst_0
	    //   1211: istore 7
	    //   1213: iload 5
	    //   1215: iconst_4
	    //   1216: idiv
	    //   1217: istore 48
	    //   1219: aload 6
	    //   1221: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   1224: iconst_1
	    //   1225: isub
	    //   1226: istore_3
	    //   1227: iload_3
	    //   1228: ifge +146 -> 1374
	    //   1231: iload 7
	    //   1233: istore 49
	    //   1235: aload 49
	    //   1237: ifnull +355 -> 1592
	    //   1240: new 43	java/util/Vector
	    //   1243: dup
	    //   1244: invokespecial 111	java/util/Vector:<init>	()V
	    //   1247: astore 50
	    //   1249: aload 6
	    //   1251: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   1254: iconst_1
	    //   1255: isub
	    //   1256: istore 109
	    //   1258: iconst_0
	    //   1259: istore 7
	    //   1261: iload 109
	    //   1263: istore_3
	    //   1264: iload_3
	    //   1265: ifge +228 -> 1493
	    //   1268: iload 7
	    //   1270: istore 110
	    //   1272: aload 50
	    //   1274: invokevirtual 73	java/util/Vector:size	()I
	    //   1277: istore 111
	    //   1279: iload 48
	    //   1281: istore 112
	    //   1283: iload 111
	    //   1285: iload 112
	    //   1287: if_icmpne +305 -> 1592
	    //   1290: aload 49
	    //   1292: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   1295: astore 113
	    //   1297: aload 50
	    //   1299: astore 114
	    //   1301: aload 113
	    //   1303: aload 114
	    //   1305: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   1308: astore_0
	    //   1309: iload 16
	    //   1311: ifeq -1175 -> 136
	    //   1314: aload 12
	    //   1316: astore 115
	    //   1318: iconst_0
	    //   1319: istore 116
	    //   1321: aload 115
	    //   1323: iload 116
	    //   1325: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1328: checkcast 57	com/philzhu/www/ddz/Card
	    //   1331: astore 117
	    //   1333: aload_0
	    //   1334: astore 118
	    //   1336: aload 12
	    //   1338: astore 119
	    //   1340: aload 117
	    //   1342: astore 120
	    //   1344: aload 118
	    //   1346: aload 119
	    //   1348: aload 120
	    //   1350: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   1353: ifne -1217 -> 136
	    //   1356: iload 9
	    //   1358: ifne -1222 -> 136
	    //   1361: aload 10
	    //   1363: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   1366: ifeq -1230 -> 136
	    //   1369: aconst_null
	    //   1370: astore_0
	    //   1371: goto -1235 -> 136
	    //   1374: aload 6
	    //   1376: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   1379: iload_3
	    //   1380: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1383: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   1386: astore_2
	    //   1387: aload_2
	    //   1388: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   1391: istore 121
	    //   1393: bipush 10
	    //   1395: istore 122
	    //   1397: iload 121
	    //   1399: iload 122
	    //   1401: if_icmpne +84 -> 1485
	    //   1404: aload_2
	    //   1405: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   1408: istore 123
	    //   1410: aload_0
	    //   1411: astore 124
	    //   1413: iconst_0
	    //   1414: istore 125
	    //   1416: aload 124
	    //   1418: iload 125
	    //   1420: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1423: checkcast 57	com/philzhu/www/ddz/Card
	    //   1426: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   1429: istore 126
	    //   1431: iload 123
	    //   1433: istore 127
	    //   1435: iload 126
	    //   1437: istore 128
	    //   1439: iload 127
	    //   1441: iload 128
	    //   1443: if_icmple +42 -> 1485
	    //   1446: aload_2
	    //   1447: getfield 63	com/philzhu/www/ddz/CardsType:length	I
	    //   1450: istore 129
	    //   1452: iload 48
	    //   1454: iconst_3
	    //   1455: imul
	    //   1456: istore 130
	    //   1458: iload 129
	    //   1460: istore 131
	    //   1462: iload 130
	    //   1464: istore 132
	    //   1466: iload 131
	    //   1468: iload 132
	    //   1470: if_icmpne +15 -> 1485
	    //   1473: aload_2
	    //   1474: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   1477: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   1480: astore 49
	    //   1482: goto -247 -> 1235
	    //   1485: iload_3
	    //   1486: bipush 255
	    //   1488: iadd
	    //   1489: istore_3
	    //   1490: goto -263 -> 1227
	    //   1493: aload 6
	    //   1495: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   1498: iload_3
	    //   1499: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1502: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   1505: astore_2
	    //   1506: aload_2
	    //   1507: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   1510: istore 133
	    //   1512: iconst_1
	    //   1513: istore 134
	    //   1515: iload 133
	    //   1517: iload 134
	    //   1519: if_icmpne +65 -> 1584
	    //   1522: aload_2
	    //   1523: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   1526: istore 135
	    //   1528: bipush 15
	    //   1530: istore 136
	    //   1532: iload 135
	    //   1534: iload 136
	    //   1536: if_icmpge +48 -> 1584
	    //   1539: aload_2
	    //   1540: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   1543: astore 137
	    //   1545: aload 50
	    //   1547: astore 138
	    //   1549: aload 137
	    //   1551: astore 139
	    //   1553: aload 138
	    //   1555: aload 139
	    //   1557: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   1560: astore 140
	    //   1562: iload 7
	    //   1564: iconst_1
	    //   1565: iadd
	    //   1566: istore_2
	    //   1567: iload_2
	    //   1568: istore 141
	    //   1570: iload 48
	    //   1572: istore 142
	    //   1574: iload 141
	    //   1576: iload 142
	    //   1578: if_icmpeq -306 -> 1272
	    //   1581: iload_2
	    //   1582: istore 143
	    //   1584: iload_3
	    //   1585: bipush 255
	    //   1587: iadd
	    //   1588: istore_3
	    //   1589: goto -325 -> 1264
	    //   1592: aload_0
	    //   1593: astore 144
	    //   1595: iconst_0
	    //   1596: istore 145
	    //   1598: aload 144
	    //   1600: iload 145
	    //   1602: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1605: checkcast 57	com/philzhu/www/ddz/Card
	    //   1608: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   1611: istore 146
	    //   1613: iload 48
	    //   1615: istore 147
	    //   1617: aload_1
	    //   1618: astore 148
	    //   1620: iload 8
	    //   1622: istore 149
	    //   1624: iload 146
	    //   1626: iload 147
	    //   1628: aload 148
	    //   1630: iload 149
	    //   1632: invokestatic 422	com/philzhu/www/ddz/AI:forceGetShun3WithDan	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   1635: astore_2
	    //   1636: aload_2
	    //   1637: ifnull +163 -> 1800
	    //   1640: aload_2
	    //   1641: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   1644: ifeq +96 -> 1740
	    //   1647: iload 9
	    //   1649: ifeq +91 -> 1740
	    //   1652: iload 16
	    //   1654: ifeq +78 -> 1732
	    //   1657: aload_2
	    //   1658: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1661: astore 150
	    //   1663: aload 12
	    //   1665: astore 151
	    //   1667: iconst_0
	    //   1668: istore 152
	    //   1670: aload 151
	    //   1672: iload 152
	    //   1674: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1677: checkcast 57	com/philzhu/www/ddz/Card
	    //   1680: astore 153
	    //   1682: aload 150
	    //   1684: astore 154
	    //   1686: aload 12
	    //   1688: astore 155
	    //   1690: aload 153
	    //   1692: astore 156
	    //   1694: aload 154
	    //   1696: aload 155
	    //   1698: aload 156
	    //   1700: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   1703: ifeq +11 -> 1714
	    //   1706: aload_2
	    //   1707: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1710: astore_0
	    //   1711: goto -1575 -> 136
	    //   1714: iload 9
	    //   1716: ifne +16 -> 1732
	    //   1719: aload 10
	    //   1721: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   1724: ifeq +8 -> 1732
	    //   1727: aconst_null
	    //   1728: astore_0
	    //   1729: goto -1593 -> 136
	    //   1732: aload_2
	    //   1733: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1736: astore_0
	    //   1737: goto -1601 -> 136
	    //   1740: iload 9
	    //   1742: ifeq +58 -> 1800
	    //   1745: iload 8
	    //   1747: istore 157
	    //   1749: bipush 25
	    //   1751: istore 158
	    //   1753: iload 157
	    //   1755: iload 158
	    //   1757: if_icmplt +35 -> 1792
	    //   1760: iload 11
	    //   1762: istore 159
	    //   1764: bipush 15
	    //   1766: istore 160
	    //   1768: iload 159
	    //   1770: iload 160
	    //   1772: if_icmplt +20 -> 1792
	    //   1775: aload 13
	    //   1777: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   1780: istore 161
	    //   1782: iconst_1
	    //   1783: istore 162
	    //   1785: iload 161
	    //   1787: iload 162
	    //   1789: if_icmpne +11 -> 1800
	    //   1792: aload_2
	    //   1793: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   1796: astore_0
	    //   1797: goto -1661 -> 136
	    //   1800: iload 4
	    //   1802: istore 163
	    //   1804: bipush 10
	    //   1806: istore 164
	    //   1808: iload 163
	    //   1810: iload 164
	    //   1812: if_icmpne +427 -> 2239
	    //   1815: iconst_0
	    //   1816: istore 7
	    //   1818: iload 5
	    //   1820: iconst_3
	    //   1821: idiv
	    //   1822: istore 49
	    //   1824: aload 6
	    //   1826: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   1829: iconst_1
	    //   1830: isub
	    //   1831: istore_3
	    //   1832: iload_3
	    //   1833: ifge +62 -> 1895
	    //   1836: iload 7
	    //   1838: istore_2
	    //   1839: aload_2
	    //   1840: ifnull +196 -> 2036
	    //   1843: iload 16
	    //   1845: ifeq +186 -> 2031
	    //   1848: aload 12
	    //   1850: astore 165
	    //   1852: iconst_0
	    //   1853: istore 166
	    //   1855: aload 165
	    //   1857: iload 166
	    //   1859: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1862: checkcast 57	com/philzhu/www/ddz/Card
	    //   1865: astore 167
	    //   1867: aload_2
	    //   1868: astore 168
	    //   1870: aload 12
	    //   1872: astore 169
	    //   1874: aload 167
	    //   1876: astore 170
	    //   1878: aload 168
	    //   1880: aload 169
	    //   1882: aload 170
	    //   1884: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   1887: ifeq +126 -> 2013
	    //   1890: aload_2
	    //   1891: astore_0
	    //   1892: goto -1756 -> 136
	    //   1895: aload 6
	    //   1897: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   1900: iload_3
	    //   1901: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1904: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   1907: astore_2
	    //   1908: aload_2
	    //   1909: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   1912: istore 171
	    //   1914: bipush 10
	    //   1916: istore 172
	    //   1918: iload 171
	    //   1920: iload 172
	    //   1922: if_icmpne +83 -> 2005
	    //   1925: aload_2
	    //   1926: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   1929: istore 173
	    //   1931: aload_0
	    //   1932: astore 174
	    //   1934: iconst_0
	    //   1935: istore 175
	    //   1937: aload 174
	    //   1939: iload 175
	    //   1941: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   1944: checkcast 57	com/philzhu/www/ddz/Card
	    //   1947: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   1950: istore 176
	    //   1952: iload 173
	    //   1954: istore 177
	    //   1956: iload 176
	    //   1958: istore 178
	    //   1960: iload 177
	    //   1962: iload 178
	    //   1964: if_icmple +41 -> 2005
	    //   1967: aload_2
	    //   1968: getfield 63	com/philzhu/www/ddz/CardsType:length	I
	    //   1971: istore 179
	    //   1973: iload 49
	    //   1975: iconst_3
	    //   1976: imul
	    //   1977: istore 180
	    //   1979: iload 179
	    //   1981: istore 181
	    //   1983: iload 180
	    //   1985: istore 182
	    //   1987: iload 181
	    //   1989: iload 182
	    //   1991: if_icmpne +14 -> 2005
	    //   1994: aload_2
	    //   1995: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   1998: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   2001: astore_2
	    //   2002: goto -163 -> 1839
	    //   2005: iload_3
	    //   2006: bipush 255
	    //   2008: iadd
	    //   2009: istore_3
	    //   2010: goto -178 -> 1832
	    //   2013: iload 9
	    //   2015: ifne +16 -> 2031
	    //   2018: aload 10
	    //   2020: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   2023: ifeq +8 -> 2031
	    //   2026: aconst_null
	    //   2027: astore_0
	    //   2028: goto -1892 -> 136
	    //   2031: aload_2
	    //   2032: astore_0
	    //   2033: goto -1897 -> 136
	    //   2036: aload_0
	    //   2037: astore 183
	    //   2039: iconst_0
	    //   2040: istore 184
	    //   2042: aload 183
	    //   2044: iload 184
	    //   2046: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2049: checkcast 57	com/philzhu/www/ddz/Card
	    //   2052: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   2055: istore 185
	    //   2057: iload 49
	    //   2059: istore 186
	    //   2061: aload_1
	    //   2062: astore 187
	    //   2064: iload 8
	    //   2066: istore 188
	    //   2068: iload 185
	    //   2070: iload 186
	    //   2072: aload 187
	    //   2074: iload 188
	    //   2076: invokestatic 424	com/philzhu/www/ddz/AI:forceGetShun3	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   2079: astore_2
	    //   2080: aload_2
	    //   2081: ifnull +158 -> 2239
	    //   2084: aload_2
	    //   2085: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   2088: ifeq +91 -> 2179
	    //   2091: iload 9
	    //   2093: ifeq +78 -> 2171
	    //   2096: aload_2
	    //   2097: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2100: astore 189
	    //   2102: aload 12
	    //   2104: astore 190
	    //   2106: iconst_0
	    //   2107: istore 191
	    //   2109: aload 190
	    //   2111: iload 191
	    //   2113: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2116: checkcast 57	com/philzhu/www/ddz/Card
	    //   2119: astore 192
	    //   2121: aload 189
	    //   2123: astore 193
	    //   2125: aload 12
	    //   2127: astore 194
	    //   2129: aload 192
	    //   2131: astore 195
	    //   2133: aload 193
	    //   2135: aload 194
	    //   2137: aload 195
	    //   2139: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   2142: ifeq +11 -> 2153
	    //   2145: aload_2
	    //   2146: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2149: astore_0
	    //   2150: goto -2014 -> 136
	    //   2153: iload 9
	    //   2155: ifne +16 -> 2171
	    //   2158: aload 10
	    //   2160: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   2163: ifeq +8 -> 2171
	    //   2166: aconst_null
	    //   2167: astore_0
	    //   2168: goto -2032 -> 136
	    //   2171: aload_2
	    //   2172: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2175: astore_0
	    //   2176: goto -2040 -> 136
	    //   2179: iload 9
	    //   2181: ifeq +58 -> 2239
	    //   2184: iload 8
	    //   2186: istore 196
	    //   2188: bipush 25
	    //   2190: istore 197
	    //   2192: iload 196
	    //   2194: iload 197
	    //   2196: if_icmplt +35 -> 2231
	    //   2199: iload 11
	    //   2201: istore 198
	    //   2203: bipush 15
	    //   2205: istore 199
	    //   2207: iload 198
	    //   2209: iload 199
	    //   2211: if_icmplt +20 -> 2231
	    //   2214: aload 13
	    //   2216: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   2219: istore 200
	    //   2221: iconst_1
	    //   2222: istore 201
	    //   2224: iload 200
	    //   2226: iload 201
	    //   2228: if_icmpne +11 -> 2239
	    //   2231: aload_2
	    //   2232: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2235: astore_0
	    //   2236: goto -2100 -> 136
	    //   2239: iload 4
	    //   2241: istore 202
	    //   2243: bipush 9
	    //   2245: istore 203
	    //   2247: iload 202
	    //   2249: iload 203
	    //   2251: if_icmpne +427 -> 2678
	    //   2254: iconst_0
	    //   2255: istore 7
	    //   2257: iload 5
	    //   2259: iconst_2
	    //   2260: idiv
	    //   2261: istore 49
	    //   2263: aload 6
	    //   2265: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   2268: iconst_1
	    //   2269: isub
	    //   2270: istore_3
	    //   2271: iload_3
	    //   2272: ifge +62 -> 2334
	    //   2275: iload 7
	    //   2277: istore_2
	    //   2278: aload_2
	    //   2279: ifnull +196 -> 2475
	    //   2282: iload 16
	    //   2284: ifeq +186 -> 2470
	    //   2287: aload 12
	    //   2289: astore 204
	    //   2291: iconst_0
	    //   2292: istore 205
	    //   2294: aload 204
	    //   2296: iload 205
	    //   2298: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2301: checkcast 57	com/philzhu/www/ddz/Card
	    //   2304: astore 206
	    //   2306: aload_2
	    //   2307: astore 207
	    //   2309: aload 12
	    //   2311: astore 208
	    //   2313: aload 206
	    //   2315: astore 209
	    //   2317: aload 207
	    //   2319: aload 208
	    //   2321: aload 209
	    //   2323: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   2326: ifeq +126 -> 2452
	    //   2329: aload_2
	    //   2330: astore_0
	    //   2331: goto -2195 -> 136
	    //   2334: aload 6
	    //   2336: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   2339: iload_3
	    //   2340: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2343: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   2346: astore_2
	    //   2347: aload_2
	    //   2348: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   2351: istore 210
	    //   2353: bipush 9
	    //   2355: istore 211
	    //   2357: iload 210
	    //   2359: iload 211
	    //   2361: if_icmpne +83 -> 2444
	    //   2364: aload_2
	    //   2365: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   2368: istore 212
	    //   2370: aload_0
	    //   2371: astore 213
	    //   2373: iconst_0
	    //   2374: istore 214
	    //   2376: aload 213
	    //   2378: iload 214
	    //   2380: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2383: checkcast 57	com/philzhu/www/ddz/Card
	    //   2386: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   2389: istore 215
	    //   2391: iload 212
	    //   2393: istore 216
	    //   2395: iload 215
	    //   2397: istore 217
	    //   2399: iload 216
	    //   2401: iload 217
	    //   2403: if_icmple +41 -> 2444
	    //   2406: aload_2
	    //   2407: getfield 63	com/philzhu/www/ddz/CardsType:length	I
	    //   2410: istore 218
	    //   2412: iload 49
	    //   2414: iconst_2
	    //   2415: imul
	    //   2416: istore 219
	    //   2418: iload 218
	    //   2420: istore 220
	    //   2422: iload 219
	    //   2424: istore 221
	    //   2426: iload 220
	    //   2428: iload 221
	    //   2430: if_icmpne +14 -> 2444
	    //   2433: aload_2
	    //   2434: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   2437: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   2440: astore_2
	    //   2441: goto -163 -> 2278
	    //   2444: iload_3
	    //   2445: bipush 255
	    //   2447: iadd
	    //   2448: istore_3
	    //   2449: goto -178 -> 2271
	    //   2452: iload 9
	    //   2454: ifne +16 -> 2470
	    //   2457: aload 10
	    //   2459: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   2462: ifeq +8 -> 2470
	    //   2465: aconst_null
	    //   2466: astore_0
	    //   2467: goto -2331 -> 136
	    //   2470: aload_2
	    //   2471: astore_0
	    //   2472: goto -2336 -> 136
	    //   2475: aload_0
	    //   2476: astore 222
	    //   2478: iconst_0
	    //   2479: istore 223
	    //   2481: aload 222
	    //   2483: iload 223
	    //   2485: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2488: checkcast 57	com/philzhu/www/ddz/Card
	    //   2491: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   2494: istore 224
	    //   2496: iload 49
	    //   2498: istore 225
	    //   2500: aload_1
	    //   2501: astore 226
	    //   2503: iload 8
	    //   2505: istore 227
	    //   2507: iload 224
	    //   2509: iload 225
	    //   2511: aload 226
	    //   2513: iload 227
	    //   2515: invokestatic 426	com/philzhu/www/ddz/AI:forceGetShun2	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   2518: astore_2
	    //   2519: aload_2
	    //   2520: ifnull +158 -> 2678
	    //   2523: aload_2
	    //   2524: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   2527: ifeq +91 -> 2618
	    //   2530: iload 9
	    //   2532: ifeq +78 -> 2610
	    //   2535: aload_2
	    //   2536: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2539: astore 228
	    //   2541: aload 12
	    //   2543: astore 229
	    //   2545: iconst_0
	    //   2546: istore 230
	    //   2548: aload 229
	    //   2550: iload 230
	    //   2552: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2555: checkcast 57	com/philzhu/www/ddz/Card
	    //   2558: astore 231
	    //   2560: aload 228
	    //   2562: astore 232
	    //   2564: aload 12
	    //   2566: astore 233
	    //   2568: aload 231
	    //   2570: astore 234
	    //   2572: aload 232
	    //   2574: aload 233
	    //   2576: aload 234
	    //   2578: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   2581: ifeq +11 -> 2592
	    //   2584: aload_2
	    //   2585: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2588: astore_0
	    //   2589: goto -2453 -> 136
	    //   2592: iload 9
	    //   2594: ifne +16 -> 2610
	    //   2597: aload 10
	    //   2599: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   2602: ifeq +8 -> 2610
	    //   2605: aconst_null
	    //   2606: astore_0
	    //   2607: goto -2471 -> 136
	    //   2610: aload_2
	    //   2611: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2614: astore_0
	    //   2615: goto -2479 -> 136
	    //   2618: iload 9
	    //   2620: ifeq +58 -> 2678
	    //   2623: iload 8
	    //   2625: istore 235
	    //   2627: bipush 25
	    //   2629: istore 236
	    //   2631: iload 235
	    //   2633: iload 236
	    //   2635: if_icmplt +35 -> 2670
	    //   2638: iload 11
	    //   2640: istore 237
	    //   2642: bipush 15
	    //   2644: istore 238
	    //   2646: iload 237
	    //   2648: iload 238
	    //   2650: if_icmplt +20 -> 2670
	    //   2653: aload 13
	    //   2655: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   2658: istore 239
	    //   2660: iconst_1
	    //   2661: istore 240
	    //   2663: iload 239
	    //   2665: iload 240
	    //   2667: if_icmpne +11 -> 2678
	    //   2670: aload_2
	    //   2671: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2674: astore_0
	    //   2675: goto -2539 -> 136
	    //   2678: iload 4
	    //   2680: istore 241
	    //   2682: bipush 8
	    //   2684: istore 242
	    //   2686: iload 241
	    //   2688: iload 242
	    //   2690: if_icmpne +455 -> 3145
	    //   2693: iconst_0
	    //   2694: istore 7
	    //   2696: iload 5
	    //   2698: istore 49
	    //   2700: aload 6
	    //   2702: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   2705: iconst_1
	    //   2706: isub
	    //   2707: istore_3
	    //   2708: iload_3
	    //   2709: ifge +62 -> 2771
	    //   2712: iload 7
	    //   2714: istore_2
	    //   2715: aload_2
	    //   2716: ifnull +162 -> 2878
	    //   2719: iload 16
	    //   2721: ifeq +152 -> 2873
	    //   2724: aload 12
	    //   2726: astore 243
	    //   2728: iconst_0
	    //   2729: istore 244
	    //   2731: aload 243
	    //   2733: iload 244
	    //   2735: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2738: checkcast 57	com/philzhu/www/ddz/Card
	    //   2741: astore 245
	    //   2743: aload_2
	    //   2744: astore 246
	    //   2746: aload 12
	    //   2748: astore 247
	    //   2750: aload 245
	    //   2752: astore 248
	    //   2754: aload 246
	    //   2756: aload 247
	    //   2758: aload 248
	    //   2760: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   2763: ifeq +92 -> 2855
	    //   2766: aload_2
	    //   2767: astore_0
	    //   2768: goto -2632 -> 136
	    //   2771: aload 6
	    //   2773: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   2776: iload_3
	    //   2777: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2780: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   2783: astore_2
	    //   2784: aload_2
	    //   2785: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   2788: bipush 8
	    //   2790: if_icmpne +57 -> 2847
	    //   2793: aload_2
	    //   2794: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   2797: istore 249
	    //   2799: aload_0
	    //   2800: astore 250
	    //   2802: iconst_0
	    //   2803: istore 251
	    //   2805: aload 250
	    //   2807: iload 251
	    //   2809: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2812: checkcast 57	com/philzhu/www/ddz/Card
	    //   2815: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   2818: istore 252
	    //   2820: iload 249
	    //   2822: iload 252
	    //   2824: if_icmple +23 -> 2847
	    //   2827: aload_2
	    //   2828: getfield 63	com/philzhu/www/ddz/CardsType:length	I
	    //   2831: iload 49
	    //   2833: if_icmpne +14 -> 2847
	    //   2836: aload_2
	    //   2837: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   2840: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   2843: astore_2
	    //   2844: goto -129 -> 2715
	    //   2847: iload_3
	    //   2848: bipush 255
	    //   2850: iadd
	    //   2851: istore_3
	    //   2852: goto -144 -> 2708
	    //   2855: iload 9
	    //   2857: ifne +16 -> 2873
	    //   2860: aload 10
	    //   2862: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   2865: ifeq +8 -> 2873
	    //   2868: aconst_null
	    //   2869: astore_0
	    //   2870: goto -2734 -> 136
	    //   2873: aload_2
	    //   2874: astore_0
	    //   2875: goto -2739 -> 136
	    //   2878: aload_0
	    //   2879: astore 253
	    //   2881: iconst_0
	    //   2882: istore 254
	    //   2884: aload 253
	    //   2886: iload 254
	    //   2888: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2891: checkcast 57	com/philzhu/www/ddz/Card
	    //   2894: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   2897: istore 255
	    //   2899: iload 49
	    //   2901: wide
	    //   2905: aload_1
	    //   2906: wide
	    //   2910: iload 8
	    //   2912: wide
	    //   2916: iload 255
	    //   2918: wide
	    //   2922: wide
	    //   2926: wide
	    //   2930: invokestatic 428	com/philzhu/www/ddz/AI:forceGetShun	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   2933: astore_2
	    //   2934: aload_2
	    //   2935: ifnull +210 -> 3145
	    //   2938: aload_2
	    //   2939: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   2942: ifeq +119 -> 3061
	    //   2945: iload 9
	    //   2947: ifeq +106 -> 3053
	    //   2950: aload_2
	    //   2951: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   2954: wide
	    //   2958: aload 12
	    //   2960: wide
	    //   2964: iconst_0
	    //   2965: wide
	    //   2969: wide
	    //   2973: wide
	    //   2977: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   2980: checkcast 57	com/philzhu/www/ddz/Card
	    //   2983: wide
	    //   2987: wide
	    //   2991: wide
	    //   2995: aload 12
	    //   2997: wide
	    //   3001: wide
	    //   3005: wide
	    //   3009: wide
	    //   3013: wide
	    //   3017: wide
	    //   3021: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   3024: ifeq +11 -> 3035
	    //   3027: aload_2
	    //   3028: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3031: astore_0
	    //   3032: goto -2896 -> 136
	    //   3035: iload 9
	    //   3037: ifne +16 -> 3053
	    //   3040: aload 10
	    //   3042: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   3045: ifeq +8 -> 3053
	    //   3048: aconst_null
	    //   3049: astore_0
	    //   3050: goto -2914 -> 136
	    //   3053: aload_2
	    //   3054: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3057: astore_0
	    //   3058: goto -2922 -> 136
	    //   3061: iload 9
	    //   3063: ifeq +82 -> 3145
	    //   3066: iload 8
	    //   3068: wide
	    //   3072: bipush 25
	    //   3074: wide
	    //   3078: wide
	    //   3082: wide
	    //   3086: if_icmplt +51 -> 3137
	    //   3089: iload 11
	    //   3091: wide
	    //   3095: bipush 15
	    //   3097: wide
	    //   3101: wide
	    //   3105: wide
	    //   3109: if_icmplt +28 -> 3137
	    //   3112: aload 13
	    //   3114: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   3117: wide
	    //   3121: iconst_1
	    //   3122: wide
	    //   3126: wide
	    //   3130: wide
	    //   3134: if_icmpne +11 -> 3145
	    //   3137: aload_2
	    //   3138: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3141: astore_0
	    //   3142: goto -3006 -> 136
	    //   3145: iload 4
	    //   3147: wide
	    //   3151: bipush 7
	    //   3153: wide
	    //   3157: wide
	    //   3161: wide
	    //   3165: if_icmpeq +3 -> 3168
	    //   3168: iload 4
	    //   3170: wide
	    //   3174: iconst_5
	    //   3175: wide
	    //   3179: wide
	    //   3183: wide
	    //   3187: if_icmpne +637 -> 3824
	    //   3190: aconst_null
	    //   3191: astore 7
	    //   3193: aload 6
	    //   3195: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   3198: iconst_1
	    //   3199: isub
	    //   3200: istore_3
	    //   3201: iload_3
	    //   3202: ifge +170 -> 3372
	    //   3205: aload 7
	    //   3207: ifnull +334 -> 3541
	    //   3210: new 43	java/util/Vector
	    //   3213: dup
	    //   3214: invokespecial 111	java/util/Vector:<init>	()V
	    //   3217: astore 49
	    //   3219: aload 6
	    //   3221: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   3224: iconst_1
	    //   3225: isub
	    //   3226: istore_3
	    //   3227: iload_3
	    //   3228: ifge +235 -> 3463
	    //   3231: aload 49
	    //   3233: invokevirtual 73	java/util/Vector:size	()I
	    //   3236: wide
	    //   3240: iconst_2
	    //   3241: wide
	    //   3245: wide
	    //   3249: wide
	    //   3253: if_icmpne +288 -> 3541
	    //   3256: aload 7
	    //   3258: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   3261: wide
	    //   3265: aload 49
	    //   3267: wide
	    //   3271: wide
	    //   3275: wide
	    //   3279: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   3282: astore_0
	    //   3283: iload 16
	    //   3285: ifeq -3149 -> 136
	    //   3288: aload 12
	    //   3290: wide
	    //   3294: iconst_0
	    //   3295: wide
	    //   3299: wide
	    //   3303: wide
	    //   3307: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3310: checkcast 57	com/philzhu/www/ddz/Card
	    //   3313: wide
	    //   3317: aload_0
	    //   3318: wide
	    //   3322: aload 12
	    //   3324: wide
	    //   3328: wide
	    //   3332: wide
	    //   3336: wide
	    //   3340: wide
	    //   3344: wide
	    //   3348: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   3351: ifne -3215 -> 136
	    //   3354: iload 9
	    //   3356: ifne -3220 -> 136
	    //   3359: aload 10
	    //   3361: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   3364: ifeq -3228 -> 136
	    //   3367: aconst_null
	    //   3368: astore_0
	    //   3369: goto -3233 -> 136
	    //   3372: aload 6
	    //   3374: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   3377: iload_3
	    //   3378: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3381: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   3384: astore_2
	    //   3385: aload_2
	    //   3386: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   3389: iconst_3
	    //   3390: if_icmpne +65 -> 3455
	    //   3393: aload_2
	    //   3394: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   3397: wide
	    //   3401: aload_0
	    //   3402: wide
	    //   3406: iconst_0
	    //   3407: wide
	    //   3411: wide
	    //   3415: wide
	    //   3419: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3422: checkcast 57	com/philzhu/www/ddz/Card
	    //   3425: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   3428: wide
	    //   3432: wide
	    //   3436: wide
	    //   3440: if_icmple +15 -> 3455
	    //   3443: aload_2
	    //   3444: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   3447: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   3450: astore 7
	    //   3452: goto -247 -> 3205
	    //   3455: iload_3
	    //   3456: bipush 255
	    //   3458: iadd
	    //   3459: istore_3
	    //   3460: goto -259 -> 3201
	    //   3463: aload 6
	    //   3465: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   3468: iload_3
	    //   3469: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3472: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   3475: astore_2
	    //   3476: aload_2
	    //   3477: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   3480: iconst_2
	    //   3481: if_icmpne +52 -> 3533
	    //   3484: aload_2
	    //   3485: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   3488: bipush 15
	    //   3490: if_icmpge +43 -> 3533
	    //   3493: aload_2
	    //   3494: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   3497: wide
	    //   3501: aload 49
	    //   3503: wide
	    //   3507: wide
	    //   3511: wide
	    //   3515: wide
	    //   3519: wide
	    //   3523: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   3526: wide
	    //   3530: goto -299 -> 3231
	    //   3533: iload_3
	    //   3534: bipush 255
	    //   3536: iadd
	    //   3537: istore_3
	    //   3538: goto -311 -> 3227
	    //   3541: aload_0
	    //   3542: wide
	    //   3546: iconst_0
	    //   3547: wide
	    //   3551: wide
	    //   3555: wide
	    //   3559: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3562: checkcast 57	com/philzhu/www/ddz/Card
	    //   3565: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   3568: wide
	    //   3572: iconst_1
	    //   3573: wide
	    //   3577: aload_1
	    //   3578: wide
	    //   3582: iload 8
	    //   3584: wide
	    //   3588: wide
	    //   3592: wide
	    //   3596: wide
	    //   3600: wide
	    //   3604: invokestatic 420	com/philzhu/www/ddz/AI:forceGetShun3WithDui	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   3607: astore_2
	    //   3608: aload_2
	    //   3609: ifnull +215 -> 3824
	    //   3612: aload_2
	    //   3613: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   3616: ifeq +124 -> 3740
	    //   3619: iload 9
	    //   3621: ifeq +119 -> 3740
	    //   3624: iload 16
	    //   3626: ifeq +106 -> 3732
	    //   3629: aload_2
	    //   3630: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3633: wide
	    //   3637: aload 12
	    //   3639: wide
	    //   3643: iconst_0
	    //   3644: wide
	    //   3648: wide
	    //   3652: wide
	    //   3656: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3659: checkcast 57	com/philzhu/www/ddz/Card
	    //   3662: wide
	    //   3666: wide
	    //   3670: wide
	    //   3674: aload 12
	    //   3676: wide
	    //   3680: wide
	    //   3684: wide
	    //   3688: wide
	    //   3692: wide
	    //   3696: wide
	    //   3700: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   3703: ifeq +11 -> 3714
	    //   3706: aload_2
	    //   3707: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3710: astore_0
	    //   3711: goto -3575 -> 136
	    //   3714: iload 9
	    //   3716: ifne +16 -> 3732
	    //   3719: aload 10
	    //   3721: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   3724: ifeq +8 -> 3732
	    //   3727: aconst_null
	    //   3728: astore_0
	    //   3729: goto -3593 -> 136
	    //   3732: aload_2
	    //   3733: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3736: astore_0
	    //   3737: goto -3601 -> 136
	    //   3740: iload 9
	    //   3742: ifeq +82 -> 3824
	    //   3745: iload 8
	    //   3747: wide
	    //   3751: bipush 25
	    //   3753: wide
	    //   3757: wide
	    //   3761: wide
	    //   3765: if_icmplt +51 -> 3816
	    //   3768: iload 11
	    //   3770: wide
	    //   3774: bipush 15
	    //   3776: wide
	    //   3780: wide
	    //   3784: wide
	    //   3788: if_icmplt +28 -> 3816
	    //   3791: aload 13
	    //   3793: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   3796: wide
	    //   3800: iconst_1
	    //   3801: wide
	    //   3805: wide
	    //   3809: wide
	    //   3813: if_icmpne +11 -> 3824
	    //   3816: aload_2
	    //   3817: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   3820: astore_0
	    //   3821: goto -3685 -> 136
	    //   3824: iload 4
	    //   3826: wide
	    //   3830: iconst_4
	    //   3831: wide
	    //   3835: wide
	    //   3839: wide
	    //   3843: if_icmpne +637 -> 4480
	    //   3846: aconst_null
	    //   3847: astore 7
	    //   3849: aload 6
	    //   3851: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   3854: iconst_1
	    //   3855: isub
	    //   3856: istore_3
	    //   3857: iload_3
	    //   3858: ifge +170 -> 4028
	    //   3861: aload 7
	    //   3863: ifnull +334 -> 4197
	    //   3866: new 43	java/util/Vector
	    //   3869: dup
	    //   3870: invokespecial 111	java/util/Vector:<init>	()V
	    //   3873: astore 49
	    //   3875: aload 6
	    //   3877: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   3880: iconst_1
	    //   3881: isub
	    //   3882: istore_3
	    //   3883: iload_3
	    //   3884: ifge +235 -> 4119
	    //   3887: aload 49
	    //   3889: invokevirtual 73	java/util/Vector:size	()I
	    //   3892: wide
	    //   3896: iconst_1
	    //   3897: wide
	    //   3901: wide
	    //   3905: wide
	    //   3909: if_icmpne +288 -> 4197
	    //   3912: aload 7
	    //   3914: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   3917: wide
	    //   3921: aload 49
	    //   3923: wide
	    //   3927: wide
	    //   3931: wide
	    //   3935: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   3938: astore_0
	    //   3939: iload 16
	    //   3941: ifeq -3805 -> 136
	    //   3944: aload 12
	    //   3946: wide
	    //   3950: iconst_0
	    //   3951: wide
	    //   3955: wide
	    //   3959: wide
	    //   3963: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   3966: checkcast 57	com/philzhu/www/ddz/Card
	    //   3969: wide
	    //   3973: aload_0
	    //   3974: wide
	    //   3978: aload 12
	    //   3980: wide
	    //   3984: wide
	    //   3988: wide
	    //   3992: wide
	    //   3996: wide
	    //   4000: wide
	    //   4004: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   4007: ifne -3871 -> 136
	    //   4010: iload 9
	    //   4012: ifne -3876 -> 136
	    //   4015: aload 10
	    //   4017: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   4020: ifeq -3884 -> 136
	    //   4023: aconst_null
	    //   4024: astore_0
	    //   4025: goto -3889 -> 136
	    //   4028: aload 6
	    //   4030: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   4033: iload_3
	    //   4034: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4037: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   4040: astore_2
	    //   4041: aload_2
	    //   4042: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   4045: iconst_3
	    //   4046: if_icmpne +65 -> 4111
	    //   4049: aload_2
	    //   4050: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   4053: wide
	    //   4057: aload_0
	    //   4058: wide
	    //   4062: iconst_0
	    //   4063: wide
	    //   4067: wide
	    //   4071: wide
	    //   4075: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4078: checkcast 57	com/philzhu/www/ddz/Card
	    //   4081: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   4084: wide
	    //   4088: wide
	    //   4092: wide
	    //   4096: if_icmple +15 -> 4111
	    //   4099: aload_2
	    //   4100: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   4103: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   4106: astore 7
	    //   4108: goto -247 -> 3861
	    //   4111: iload_3
	    //   4112: bipush 255
	    //   4114: iadd
	    //   4115: istore_3
	    //   4116: goto -259 -> 3857
	    //   4119: aload 6
	    //   4121: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   4124: iload_3
	    //   4125: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4128: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   4131: astore_2
	    //   4132: aload_2
	    //   4133: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   4136: iconst_1
	    //   4137: if_icmpne +52 -> 4189
	    //   4140: aload_2
	    //   4141: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   4144: bipush 15
	    //   4146: if_icmpge +43 -> 4189
	    //   4149: aload_2
	    //   4150: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   4153: wide
	    //   4157: aload 49
	    //   4159: wide
	    //   4163: wide
	    //   4167: wide
	    //   4171: wide
	    //   4175: wide
	    //   4179: invokestatic 199	com/philzhu/www/ddz/AI:concatCards	(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
	    //   4182: wide
	    //   4186: goto -299 -> 3887
	    //   4189: iload_3
	    //   4190: bipush 255
	    //   4192: iadd
	    //   4193: istore_3
	    //   4194: goto -311 -> 3883
	    //   4197: aload_0
	    //   4198: wide
	    //   4202: iconst_0
	    //   4203: wide
	    //   4207: wide
	    //   4211: wide
	    //   4215: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4218: checkcast 57	com/philzhu/www/ddz/Card
	    //   4221: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   4224: wide
	    //   4228: iconst_1
	    //   4229: wide
	    //   4233: aload_1
	    //   4234: wide
	    //   4238: iload 8
	    //   4240: wide
	    //   4244: wide
	    //   4248: wide
	    //   4252: wide
	    //   4256: wide
	    //   4260: invokestatic 422	com/philzhu/www/ddz/AI:forceGetShun3WithDan	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   4263: astore_2
	    //   4264: aload_2
	    //   4265: ifnull +215 -> 4480
	    //   4268: aload_2
	    //   4269: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   4272: ifeq +124 -> 4396
	    //   4275: iload 9
	    //   4277: ifeq +119 -> 4396
	    //   4280: iload 16
	    //   4282: ifeq +106 -> 4388
	    //   4285: aload_2
	    //   4286: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4289: wide
	    //   4293: aload 12
	    //   4295: wide
	    //   4299: iconst_0
	    //   4300: wide
	    //   4304: wide
	    //   4308: wide
	    //   4312: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4315: checkcast 57	com/philzhu/www/ddz/Card
	    //   4318: wide
	    //   4322: wide
	    //   4326: wide
	    //   4330: aload 12
	    //   4332: wide
	    //   4336: wide
	    //   4340: wide
	    //   4344: wide
	    //   4348: wide
	    //   4352: wide
	    //   4356: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   4359: ifeq +11 -> 4370
	    //   4362: aload_2
	    //   4363: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4366: astore_0
	    //   4367: goto -4231 -> 136
	    //   4370: iload 9
	    //   4372: ifne +16 -> 4388
	    //   4375: aload 10
	    //   4377: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   4380: ifeq +8 -> 4388
	    //   4383: aconst_null
	    //   4384: astore_0
	    //   4385: goto -4249 -> 136
	    //   4388: aload_2
	    //   4389: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4392: astore_0
	    //   4393: goto -4257 -> 136
	    //   4396: iload 9
	    //   4398: ifeq +82 -> 4480
	    //   4401: iload 8
	    //   4403: wide
	    //   4407: bipush 25
	    //   4409: wide
	    //   4413: wide
	    //   4417: wide
	    //   4421: if_icmplt +51 -> 4472
	    //   4424: iload 11
	    //   4426: wide
	    //   4430: bipush 15
	    //   4432: wide
	    //   4436: wide
	    //   4440: wide
	    //   4444: if_icmplt +28 -> 4472
	    //   4447: aload 13
	    //   4449: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   4452: wide
	    //   4456: iconst_1
	    //   4457: wide
	    //   4461: wide
	    //   4465: wide
	    //   4469: if_icmpne +11 -> 4480
	    //   4472: aload_2
	    //   4473: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4476: astore_0
	    //   4477: goto -4341 -> 136
	    //   4480: iload 4
	    //   4482: wide
	    //   4486: iconst_3
	    //   4487: wide
	    //   4491: wide
	    //   4495: wide
	    //   4499: if_icmpne +474 -> 4973
	    //   4502: aload 6
	    //   4504: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   4507: iconst_1
	    //   4508: isub
	    //   4509: istore_3
	    //   4510: iload_3
	    //   4511: ifge +176 -> 4687
	    //   4514: aload_0
	    //   4515: wide
	    //   4519: iconst_0
	    //   4520: wide
	    //   4524: wide
	    //   4528: wide
	    //   4532: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4535: checkcast 57	com/philzhu/www/ddz/Card
	    //   4538: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   4541: wide
	    //   4545: iconst_1
	    //   4546: wide
	    //   4550: aload_1
	    //   4551: wide
	    //   4555: iload 8
	    //   4557: wide
	    //   4561: wide
	    //   4565: wide
	    //   4569: wide
	    //   4573: wide
	    //   4577: invokestatic 424	com/philzhu/www/ddz/AI:forceGetShun3	(IILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   4580: astore_2
	    //   4581: aload_2
	    //   4582: ifnull +391 -> 4973
	    //   4585: aload_2
	    //   4586: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   4589: ifeq +300 -> 4889
	    //   4592: iload 9
	    //   4594: ifeq +295 -> 4889
	    //   4597: iload 16
	    //   4599: ifeq +282 -> 4881
	    //   4602: aload_2
	    //   4603: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4606: wide
	    //   4610: aload 12
	    //   4612: wide
	    //   4616: iconst_0
	    //   4617: wide
	    //   4621: wide
	    //   4625: wide
	    //   4629: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4632: checkcast 57	com/philzhu/www/ddz/Card
	    //   4635: wide
	    //   4639: wide
	    //   4643: wide
	    //   4647: aload 12
	    //   4649: wide
	    //   4653: wide
	    //   4657: wide
	    //   4661: wide
	    //   4665: wide
	    //   4669: wide
	    //   4673: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   4676: ifeq +187 -> 4863
	    //   4679: aload_2
	    //   4680: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4683: astore_0
	    //   4684: goto -4548 -> 136
	    //   4687: aload 6
	    //   4689: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   4692: iload_3
	    //   4693: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4696: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   4699: astore_2
	    //   4700: aload_2
	    //   4701: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   4704: iconst_3
	    //   4705: if_icmpne +150 -> 4855
	    //   4708: aload_2
	    //   4709: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   4712: wide
	    //   4716: aload_0
	    //   4717: wide
	    //   4721: iconst_0
	    //   4722: wide
	    //   4726: wide
	    //   4730: wide
	    //   4734: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4737: checkcast 57	com/philzhu/www/ddz/Card
	    //   4740: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   4743: wide
	    //   4747: wide
	    //   4751: wide
	    //   4755: if_icmple +100 -> 4855
	    //   4758: aload_2
	    //   4759: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   4762: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   4765: astore_0
	    //   4766: iload 16
	    //   4768: ifeq -4632 -> 136
	    //   4771: aload 12
	    //   4773: wide
	    //   4777: iconst_0
	    //   4778: wide
	    //   4782: wide
	    //   4786: wide
	    //   4790: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   4793: checkcast 57	com/philzhu/www/ddz/Card
	    //   4796: wide
	    //   4800: aload_0
	    //   4801: wide
	    //   4805: aload 12
	    //   4807: wide
	    //   4811: wide
	    //   4815: wide
	    //   4819: wide
	    //   4823: wide
	    //   4827: wide
	    //   4831: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   4834: ifne -4698 -> 136
	    //   4837: iload 9
	    //   4839: ifne -4703 -> 136
	    //   4842: aload 10
	    //   4844: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   4847: ifeq -4711 -> 136
	    //   4850: aconst_null
	    //   4851: astore_0
	    //   4852: goto -4716 -> 136
	    //   4855: iload_3
	    //   4856: bipush 255
	    //   4858: iadd
	    //   4859: istore_3
	    //   4860: goto -350 -> 4510
	    //   4863: iload 9
	    //   4865: ifne +16 -> 4881
	    //   4868: aload 10
	    //   4870: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   4873: ifeq +8 -> 4881
	    //   4876: aconst_null
	    //   4877: astore_0
	    //   4878: goto -4742 -> 136
	    //   4881: aload_2
	    //   4882: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4885: astore_0
	    //   4886: goto -4750 -> 136
	    //   4889: iload 9
	    //   4891: ifeq +82 -> 4973
	    //   4894: iload 8
	    //   4896: wide
	    //   4900: bipush 25
	    //   4902: wide
	    //   4906: wide
	    //   4910: wide
	    //   4914: if_icmplt +51 -> 4965
	    //   4917: iload 11
	    //   4919: wide
	    //   4923: bipush 15
	    //   4925: wide
	    //   4929: wide
	    //   4933: wide
	    //   4937: if_icmplt +28 -> 4965
	    //   4940: aload 13
	    //   4942: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   4945: wide
	    //   4949: iconst_1
	    //   4950: wide
	    //   4954: wide
	    //   4958: wide
	    //   4962: if_icmpne +11 -> 4973
	    //   4965: aload_2
	    //   4966: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   4969: astore_0
	    //   4970: goto -4834 -> 136
	    //   4973: iload 4
	    //   4975: wide
	    //   4979: iconst_2
	    //   4980: wide
	    //   4984: wide
	    //   4988: wide
	    //   4992: if_icmpne +465 -> 5457
	    //   4995: aload 6
	    //   4997: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   5000: iconst_1
	    //   5001: isub
	    //   5002: istore_3
	    //   5003: iload_3
	    //   5004: ifge +167 -> 5171
	    //   5007: aload_0
	    //   5008: wide
	    //   5012: iconst_0
	    //   5013: wide
	    //   5017: wide
	    //   5021: wide
	    //   5025: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5028: checkcast 57	com/philzhu/www/ddz/Card
	    //   5031: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   5034: wide
	    //   5038: aload_1
	    //   5039: wide
	    //   5043: iload 8
	    //   5045: wide
	    //   5049: wide
	    //   5053: wide
	    //   5057: wide
	    //   5061: invokestatic 430	com/philzhu/www/ddz/AI:forceGetDui	(ILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   5064: astore_2
	    //   5065: aload_2
	    //   5066: ifnull +391 -> 5457
	    //   5069: aload_2
	    //   5070: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   5073: ifeq +300 -> 5373
	    //   5076: iload 9
	    //   5078: ifeq +295 -> 5373
	    //   5081: iload 16
	    //   5083: ifeq +282 -> 5365
	    //   5086: aload_2
	    //   5087: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5090: wide
	    //   5094: aload 12
	    //   5096: wide
	    //   5100: iconst_0
	    //   5101: wide
	    //   5105: wide
	    //   5109: wide
	    //   5113: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5116: checkcast 57	com/philzhu/www/ddz/Card
	    //   5119: wide
	    //   5123: wide
	    //   5127: wide
	    //   5131: aload 12
	    //   5133: wide
	    //   5137: wide
	    //   5141: wide
	    //   5145: wide
	    //   5149: wide
	    //   5153: wide
	    //   5157: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   5160: ifeq +187 -> 5347
	    //   5163: aload_2
	    //   5164: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5167: astore_0
	    //   5168: goto -5032 -> 136
	    //   5171: aload 6
	    //   5173: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   5176: iload_3
	    //   5177: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5180: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   5183: astore_2
	    //   5184: aload_2
	    //   5185: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   5188: iconst_2
	    //   5189: if_icmpne +150 -> 5339
	    //   5192: aload_2
	    //   5193: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   5196: wide
	    //   5200: aload_0
	    //   5201: wide
	    //   5205: iconst_0
	    //   5206: wide
	    //   5210: wide
	    //   5214: wide
	    //   5218: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5221: checkcast 57	com/philzhu/www/ddz/Card
	    //   5224: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   5227: wide
	    //   5231: wide
	    //   5235: wide
	    //   5239: if_icmple +100 -> 5339
	    //   5242: aload_2
	    //   5243: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   5246: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   5249: astore_0
	    //   5250: iload 16
	    //   5252: ifeq -5116 -> 136
	    //   5255: aload 12
	    //   5257: wide
	    //   5261: iconst_0
	    //   5262: wide
	    //   5266: wide
	    //   5270: wide
	    //   5274: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5277: checkcast 57	com/philzhu/www/ddz/Card
	    //   5280: wide
	    //   5284: aload_0
	    //   5285: wide
	    //   5289: aload 12
	    //   5291: wide
	    //   5295: wide
	    //   5299: wide
	    //   5303: wide
	    //   5307: wide
	    //   5311: wide
	    //   5315: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   5318: ifne -5182 -> 136
	    //   5321: iload 9
	    //   5323: ifne -5187 -> 136
	    //   5326: aload 10
	    //   5328: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   5331: ifeq -5195 -> 136
	    //   5334: aconst_null
	    //   5335: astore_0
	    //   5336: goto -5200 -> 136
	    //   5339: iload_3
	    //   5340: bipush 255
	    //   5342: iadd
	    //   5343: istore_3
	    //   5344: goto -341 -> 5003
	    //   5347: iload 9
	    //   5349: ifne +16 -> 5365
	    //   5352: aload 10
	    //   5354: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   5357: ifeq +8 -> 5365
	    //   5360: aconst_null
	    //   5361: astore_0
	    //   5362: goto -5226 -> 136
	    //   5365: aload_2
	    //   5366: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5369: astore_0
	    //   5370: goto -5234 -> 136
	    //   5373: iload 9
	    //   5375: ifeq +82 -> 5457
	    //   5378: iload 8
	    //   5380: wide
	    //   5384: bipush 25
	    //   5386: wide
	    //   5390: wide
	    //   5394: wide
	    //   5398: if_icmplt +51 -> 5449
	    //   5401: iload 11
	    //   5403: wide
	    //   5407: bipush 15
	    //   5409: wide
	    //   5413: wide
	    //   5417: wide
	    //   5421: if_icmplt +28 -> 5449
	    //   5424: aload 13
	    //   5426: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   5429: wide
	    //   5433: iconst_1
	    //   5434: wide
	    //   5438: wide
	    //   5442: wide
	    //   5446: if_icmpne +11 -> 5457
	    //   5449: aload_2
	    //   5450: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5453: astore_0
	    //   5454: goto -5318 -> 136
	    //   5457: iload 4
	    //   5459: wide
	    //   5463: iconst_1
	    //   5464: wide
	    //   5468: wide
	    //   5472: wide
	    //   5476: if_icmpne +474 -> 5950
	    //   5479: aload 6
	    //   5481: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   5484: iconst_1
	    //   5485: isub
	    //   5486: istore_3
	    //   5487: iload_3
	    //   5488: ifge +167 -> 5655
	    //   5491: aload_0
	    //   5492: wide
	    //   5496: iconst_0
	    //   5497: wide
	    //   5501: wide
	    //   5505: wide
	    //   5509: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5512: checkcast 57	com/philzhu/www/ddz/Card
	    //   5515: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   5518: wide
	    //   5522: aload_1
	    //   5523: wide
	    //   5527: iload 8
	    //   5529: wide
	    //   5533: wide
	    //   5537: wide
	    //   5541: wide
	    //   5545: invokestatic 432	com/philzhu/www/ddz/AI:forceGetDan	(ILjava/util/Vector;I)Lcom/philzhu/www/ddz/CardsAfterForce;
	    //   5548: astore_0
	    //   5549: aload_0
	    //   5550: ifnull +400 -> 5950
	    //   5553: aload_0
	    //   5554: getfield 187	com/philzhu/www/ddz/CardsAfterForce:hasLotLoss	Z
	    //   5557: ifeq +309 -> 5866
	    //   5560: iload 9
	    //   5562: ifeq +304 -> 5866
	    //   5565: iload 16
	    //   5567: ifeq +291 -> 5858
	    //   5570: aload_0
	    //   5571: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5574: wide
	    //   5578: aload 12
	    //   5580: wide
	    //   5584: iconst_0
	    //   5585: wide
	    //   5589: wide
	    //   5593: wide
	    //   5597: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5600: checkcast 57	com/philzhu/www/ddz/Card
	    //   5603: wide
	    //   5607: wide
	    //   5611: wide
	    //   5615: aload 12
	    //   5617: wide
	    //   5621: wide
	    //   5625: wide
	    //   5629: wide
	    //   5633: wide
	    //   5637: wide
	    //   5641: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   5644: ifeq +196 -> 5840
	    //   5647: aload_0
	    //   5648: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5651: astore_0
	    //   5652: goto -5516 -> 136
	    //   5655: aload 6
	    //   5657: getfield 41	com/philzhu/www/ddz/PlayersCardsInfo:cardsTV	Ljava/util/Vector;
	    //   5660: iload_3
	    //   5661: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5664: checkcast 49	com/philzhu/www/ddz/CardsType
	    //   5667: astore_2
	    //   5668: aload_2
	    //   5669: getfield 52	com/philzhu/www/ddz/CardsType:type	I
	    //   5672: iconst_1
	    //   5673: if_icmpne +159 -> 5832
	    //   5676: aload_2
	    //   5677: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   5680: wide
	    //   5684: aload_0
	    //   5685: wide
	    //   5689: iconst_0
	    //   5690: wide
	    //   5694: wide
	    //   5698: wide
	    //   5702: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5705: checkcast 57	com/philzhu/www/ddz/Card
	    //   5708: getfield 60	com/philzhu/www/ddz/Card:num	I
	    //   5711: wide
	    //   5715: wide
	    //   5719: wide
	    //   5723: if_icmple +109 -> 5832
	    //   5726: aload_2
	    //   5727: getfield 55	com/philzhu/www/ddz/CardsType:max	I
	    //   5730: bipush 15
	    //   5732: if_icmpge +100 -> 5832
	    //   5735: aload_2
	    //   5736: getfield 143	com/philzhu/www/ddz/CardsType:cards	Ljava/util/Vector;
	    //   5739: invokestatic 85	com/philzhu/www/ddz/AI:cloneCards	(Ljava/util/Vector;)Ljava/util/Vector;
	    //   5742: astore_0
	    //   5743: iload 16
	    //   5745: ifeq -5609 -> 136
	    //   5748: aload 12
	    //   5750: wide
	    //   5754: iconst_0
	    //   5755: wide
	    //   5759: wide
	    //   5763: wide
	    //   5767: invokevirtual 47	java/util/Vector:elementAt	(I)Ljava/lang/Object;
	    //   5770: checkcast 57	com/philzhu/www/ddz/Card
	    //   5773: wide
	    //   5777: aload_0
	    //   5778: wide
	    //   5782: aload 12
	    //   5784: wide
	    //   5788: wide
	    //   5792: wide
	    //   5796: wide
	    //   5800: wide
	    //   5804: wide
	    //   5808: invokestatic 468	com/philzhu/www/ddz/AI:canOverAfterOut	(Ljava/util/Vector;Ljava/util/Vector;Lcom/philzhu/www/ddz/Card;)Z
	    //   5811: ifne -5675 -> 136
	    //   5814: iload 9
	    //   5816: ifne -5680 -> 136
	    //   5819: aload 10
	    //   5821: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   5824: ifeq -5688 -> 136
	    //   5827: aconst_null
	    //   5828: astore_0
	    //   5829: goto -5693 -> 136
	    //   5832: iload_3
	    //   5833: bipush 255
	    //   5835: iadd
	    //   5836: istore_3
	    //   5837: goto -350 -> 5487
	    //   5840: iload 9
	    //   5842: ifne +16 -> 5858
	    //   5845: aload 10
	    //   5847: getfield 471	com/philzhu/www/ddz/Player:canOutAllTheWay	Z
	    //   5850: ifeq +8 -> 5858
	    //   5853: aconst_null
	    //   5854: astore_0
	    //   5855: goto -5719 -> 136
	    //   5858: aload_0
	    //   5859: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5862: astore_0
	    //   5863: goto -5727 -> 136
	    //   5866: iload 9
	    //   5868: ifeq +82 -> 5950
	    //   5871: iload 8
	    //   5873: wide
	    //   5877: bipush 25
	    //   5879: wide
	    //   5883: wide
	    //   5887: wide
	    //   5891: if_icmplt +51 -> 5942
	    //   5894: iload 11
	    //   5896: wide
	    //   5900: bipush 15
	    //   5902: wide
	    //   5906: wide
	    //   5910: wide
	    //   5914: if_icmplt +28 -> 5942
	    //   5917: aload 13
	    //   5919: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   5922: wide
	    //   5926: iconst_1
	    //   5927: wide
	    //   5931: wide
	    //   5935: wide
	    //   5939: if_icmpne +11 -> 5950
	    //   5942: aload_0
	    //   5943: getfield 171	com/philzhu/www/ddz/CardsAfterForce:spiltCards	Ljava/util/Vector;
	    //   5946: astore_0
	    //   5947: goto -5811 -> 136
	    //   5950: aload 13
	    //   5952: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   5955: wide
	    //   5959: iconst_3
	    //   5960: wide
	    //   5964: wide
	    //   5968: wide
	    //   5972: if_icmpgt +24 -> 5996
	    //   5975: aload 13
	    //   5977: getfield 341	com/philzhu/www/ddz/PlayersCardsInfo:huoNum	I
	    //   5980: ifgt +11 -> 5991
	    //   5983: aload 13
	    //   5985: getfield 409	com/philzhu/www/ddz/PlayersCardsInfo:zhaNum	I
	    //   5988: ifle +8 -> 5996
	    //   5991: aconst_null
	    //   5992: astore_0
	    //   5993: goto -5857 -> 136
	    //   5996: iload 8
	    //   5998: wide
	    //   6002: bipush 10
	    //   6004: wide
	    //   6008: wide
	    //   6012: wide
	    //   6016: if_icmplt +79 -> 6095
	    //   6019: iload 9
	    //   6021: ifeq +83 -> 6104
	    //   6024: iload 8
	    //   6026: wide
	    //   6030: bipush 25
	    //   6032: wide
	    //   6036: wide
	    //   6040: wide
	    //   6044: if_icmplt +51 -> 6095
	    //   6047: iload 11
	    //   6049: wide
	    //   6053: bipush 15
	    //   6055: wide
	    //   6059: wide
	    //   6063: wide
	    //   6067: if_icmplt +28 -> 6095
	    //   6070: aload 13
	    //   6072: getfield 37	com/philzhu/www/ddz/PlayersCardsInfo:step	I
	    //   6075: wide
	    //   6079: iconst_1
	    //   6080: wide
	    //   6084: wide
	    //   6088: wide
	    //   6092: if_icmpne +12 -> 6104
	    //   6095: aload 6
	    //   6097: invokestatic 391	com/philzhu/www/ddz/AI:outZha	(Lcom/philzhu/www/ddz/PlayersCardsInfo;)Ljava/util/Vector;
	    //   6100: astore_0
	    //   6101: goto -5965 -> 136
	    //   6104: aconst_null
	    //   6105: astore_0
	    //   6106: goto -5970 -> 136
	  }

	  public static Vector<Card> peasantsFightLandowner(Player paramPlayer1, Player paramPlayer2, Player paramPlayer3)
	  {
	    PlayersCardsInfo localPlayersCardsInfo = paramPlayer1.cardsInfo;
	    Player localPlayer = localPlayersCardsInfo.cardsTV.size();
	    Object localObject1 = paramPlayer1.cards;
	    int i = paramPlayer3.cardsInfo.cardsTV.size();
	    Vector localVector = paramPlayer3.cards;
	    int j = localVector.size();
	    paramPlayer2 = paramPlayer2.cardsInfo;
	    if (i == 1)
	      if (j == 1)
	      {
	        Card localCard = (Card)localVector.elementAt(0);
	        boolean bool = againstOneCard(paramPlayer2, localCard);
	        paramPlayer1.canOutAllTheWay = bool;
	        if (!bool)
	          break label504;
	        localObject2 = null;
	        paramPlayer3 = localPlayer - 1;
	        if (paramPlayer3 < 0)
	        {
	          label104: if (localObject2 == null)
	            break label383;
	          if (((CardsType)localObject2).type == 3)
	          {
	            localVector = null;
	            if (localPlayersCardsInfo.danNum < 1)
	              break label391;
	            paramPlayer3 = localPlayer - 1;
	          }
	        }
	        else
	        {
	          while (true)
	          {
	            if (paramPlayer3 < 0);
	            for (paramPlayer2 = localVector; ; paramPlayer2 = paramPlayer2.cards)
	            {
	              if (paramPlayer2 == null)
	                break label391;
	              paramPlayer1 = concatCards(cloneCards(((CardsType)localObject2).cards), paramPlayer2);
	              return paramPlayer1;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 1)
	              {
	                localObject2 = paramPlayer2;
	                break label104;
	              }
	              paramPlayer3 += -1;
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 1)
	                break label222;
	            }
	            label222: paramPlayer3 += -1;
	          }
	        }
	        if (((CardsType)localObject2).type == 10)
	        {
	          paramPlayer3 = null;
	          int k = ((CardsType)localObject2).max;
	          int[] arrayOfInt1 = new int[3];
	          arrayOfInt1[0] = k;
	          arrayOfInt1[1] = k;
	          arrayOfInt1[2] = k;
	          paramPlayer2 = takeOutCards(arrayOfInt1, (Vector)localObject1);
	          if (paramPlayer2 == null)
	            break label1267;
	        }
	      }
	    label363: label1006: label1267: for (Object localObject2 = paramPlayer2.spiltCards; ; localObject2 = paramPlayer3)
	    {
	      if ((localObject2 != null) && (localPlayersCardsInfo.danNum >= 1))
	      {
	        localVector = null;
	        paramPlayer3 = localPlayer - 1;
	        while (true)
	        {
	          if (paramPlayer3 < 0);
	          for (paramPlayer2 = localVector; ; paramPlayer2 = paramPlayer2.cards)
	          {
	            if (paramPlayer2 == null)
	              break label391;
	            paramPlayer1 = concatCards(cloneCards((Vector)localObject2), paramPlayer2);
	            break;
	            paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	            if (paramPlayer2.type != 1)
	              break label363;
	          }
	          paramPlayer3 += -1;
	        }
	        paramPlayer1 = cloneCards(((CardsType)localObject2).cards);
	        break;
	        label383: paramPlayer3 = 0;
	        if (paramPlayer3 < localPlayer);
	      }
	      else
	      {
	        if (j != 2)
	          break label1188;
	        localObject2 = null;
	        paramPlayer3 = localPlayer - 1;
	        if (paramPlayer3 >= 0)
	          break label941;
	        if (localObject2 == null)
	          break label1179;
	        if (((CardsType)localObject2).type != 3)
	          break label1014;
	        if (localPlayersCardsInfo.danNum < 1)
	          break label1188;
	        localObject1 = null;
	        paramPlayer3 = localPlayer - 1;
	      }
	      while (true)
	      {
	        if (paramPlayer3 < 0);
	        for (paramPlayer2 = (Player)localObject1; ; paramPlayer2 = cloneCards(paramPlayer2.cards))
	        {
	          if (paramPlayer2 == null)
	            break label1188;
	          paramPlayer1 = concatCards(cloneCards(((CardsType)localObject2).cards), paramPlayer2);
	          break;
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	          if (paramPlayer2.type == 1)
	          {
	            paramPlayer1 = cloneCards(paramPlayer2.cards);
	            break;
	          }
	          paramPlayer3 += 1;
	          break label385;
	          label504: localObject2 = null;
	          paramPlayer3 = localPlayer - 1;
	          while (true)
	          {
	            if (paramPlayer3 < 0);
	            while (true)
	            {
	              if (localObject2 == null)
	                break label576;
	              paramPlayer1 = cloneCards(((CardsType)localObject2).cards);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if ((paramPlayer2.type != 2) || (paramPlayer2.max > 14))
	                break label568;
	              localObject2 = paramPlayer2;
	            }
	            paramPlayer3 += -1;
	          }
	          paramPlayer3 = localPlayer - 1;
	          while (true)
	          {
	            if (paramPlayer3 < 0);
	            while (true)
	            {
	              if (localObject2 == null)
	                break label672;
	              paramPlayer1 = cloneCards(((CardsType)localObject2).cards);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 1)
	                break label664;
	              int m = paramPlayer2.max;
	              int n = ((Card)localVector.elementAt(0)).num;
	              if ((m <= n) || (paramPlayer2.max == 17))
	                break label664;
	              localObject2 = paramPlayer2;
	            }
	            paramPlayer3 += -1;
	          }
	          paramPlayer3 = localPlayer - 1;
	          while (true)
	          {
	            if (paramPlayer3 < 0);
	            for (paramPlayer3 = (Player)localObject2; ; paramPlayer3 = paramPlayer2)
	            {
	              if (paramPlayer3 == null)
	                break label861;
	              int i1 = paramPlayer1.cardsInfo.pn;
	              paramPlayer1 = forceGetDui(2, (Vector)localObject1, i1);
	              if ((paramPlayer1 == null) || ((!paramPlayer1.noLoss) && (!Percent(30))))
	                break label769;
	              paramPlayer1 = cloneCards(paramPlayer1.spiltCards);
	              break;
	              paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	              if (paramPlayer2.type != 3)
	                break label761;
	            }
	            label761: paramPlayer3 += -1;
	          }
	          if (localPlayersCardsInfo.danNum >= 1)
	          {
	            localObject1 = null;
	            paramPlayer2 = localPlayer - 1;
	            while (true)
	            {
	              if (paramPlayer2 < 0);
	              for (paramPlayer1 = (Player)localObject1; ; paramPlayer1 = cloneCards(paramPlayer1.cards))
	              {
	                if (paramPlayer1 == null)
	                  break label861;
	                paramPlayer1 = concatCards(cloneCards(paramPlayer3.cards), paramPlayer1);
	                break;
	                paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	                if (paramPlayer1.type != 1)
	                  break label842;
	              }
	              paramPlayer2 += -1;
	            }
	          }
	          paramPlayer1 = cloneCards(paramPlayer3.cards);
	          break;
	          paramPlayer2 = localPlayer - 1;
	          while (true)
	          {
	            if (paramPlayer2 < 0);
	            for (paramPlayer1 = paramPlayer3; ; paramPlayer1 = paramPlayer1)
	            {
	              if (paramPlayer1 == null)
	                break label920;
	              paramPlayer1 = cloneCards(paramPlayer1.cards);
	              break;
	              paramPlayer1 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer2);
	              if (paramPlayer1.type == 1)
	                break label912;
	            }
	            paramPlayer2 += -1;
	          }
	          paramPlayer1 = cloneCards(((CardsType)localPlayersCardsInfo.cardsTV.elementAt(0)).cards);
	          break;
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	          if (paramPlayer2.type != 2)
	          {
	            localObject2 = paramPlayer2;
	            break label409;
	          }
	          paramPlayer3 += -1;
	          break label405;
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	          if (paramPlayer2.type != 1)
	            break label1006;
	        }
	        paramPlayer3 += -1;
	      }
	      label1014: if (((CardsType)localObject2).type == 10)
	      {
	        paramPlayer3 = null;
	        int i2 = ((CardsType)localObject2).max;
	        int[] arrayOfInt2 = new int[3];
	        arrayOfInt2[0] = i2;
	        arrayOfInt2[1] = i2;
	        arrayOfInt2[2] = i2;
	        paramPlayer2 = takeOutCards(arrayOfInt2, (Vector)localObject1);
	        if (paramPlayer2 == null)
	          break label1261;
	      }
	      for (localObject1 = paramPlayer2.spiltCards; ; localObject1 = paramPlayer3)
	      {
	        if (localObject1 != null)
	        {
	          if (localPlayersCardsInfo.danNum >= 1)
	          {
	            localObject2 = null;
	            paramPlayer3 = localPlayer - 1;
	            while (true)
	            {
	              if (paramPlayer3 < 0);
	              for (paramPlayer2 = (Player)localObject2; ; paramPlayer2 = cloneCards(paramPlayer2.cards))
	              {
	                if (paramPlayer2 == null)
	                  break label1188;
	                paramPlayer1 = concatCards(cloneCards((Vector)localObject1), paramPlayer2);
	                break;
	                paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	                if (paramPlayer2.type != 1)
	                  break label1150;
	              }
	              label1150: paramPlayer3 += -1;
	            }
	          }
	          paramPlayer1 = cloneCards((Vector)localObject1);
	          break;
	          paramPlayer1 = cloneCards(((CardsType)localObject2).cards);
	          break;
	          paramPlayer3 = localPlayer - 1;
	        }
	        while (true)
	        {
	          if (paramPlayer3 < 0)
	          {
	            paramPlayer1 = outCardsTheFirstTime(paramPlayer1);
	            break;
	          }
	          paramPlayer2 = (CardsType)localPlayersCardsInfo.cardsTV.elementAt(paramPlayer3);
	          if (paramPlayer2.type == 2)
	          {
	            int i3 = paramPlayer2.max;
	            int[] arrayOfInt3 = new int[1];
	            arrayOfInt3[0] = i3;
	            paramPlayer2 = takeOutCards(arrayOfInt3, (Vector)localObject1);
	            if (paramPlayer2 != null)
	            {
	              paramPlayer1 = paramPlayer2.spiltCards;
	              break;
	            }
	          }
	          paramPlayer3 += -1;
	        }
	      }
	    }
	  }

	  private static void setCardsInfo(PlayersCardsInfo paramPlayersCardsInfo)
	  {
	    int i = paramPlayersCardsInfo.cardsTV.size();
	    paramPlayersCardsInfo.step = i;
	    int j = 0;
	    int k = paramPlayersCardsInfo.step;
	    if (j >= k)
	      return;
	    CardsType localCardsType = (CardsType)paramPlayersCardsInfo.cardsTV.elementAt(j);
	    if (localCardsType.type == 14)
	    {
	      int m = paramPlayersCardsInfo.huoNum + 1;
	      paramPlayersCardsInfo.huoNum = m;
	      int n = paramPlayersCardsInfo.danNumTotal - 2;
	      paramPlayersCardsInfo.danNumTotal = n;
	      if (localCardsType.max > 14)
	      {
	        int i1 = paramPlayersCardsInfo.twoAndJokerNum + 2;
	        paramPlayersCardsInfo.twoAndJokerNum = i1;
	      }
	    }
	    if (localCardsType.type == 1)
	    {
	      int i2 = paramPlayersCardsInfo.danNum + 1;
	      paramPlayersCardsInfo.danNum = i2;
	      if (localCardsType.max <= 11)
	      {
	        int i3 = paramPlayersCardsInfo.smallDan + 1;
	        paramPlayersCardsInfo.smallDan = i3;
	        int i4 = paramPlayersCardsInfo.danNumTotal + 1;
	        paramPlayersCardsInfo.danNumTotal = i4;
	      }
	      if (localCardsType.max > 14)
	      {
	        int i5 = paramPlayersCardsInfo.twoAndJokerNum + 1;
	        paramPlayersCardsInfo.twoAndJokerNum = i5;
	      }
	    }
	    if (localCardsType.type == 2)
	    {
	      int i6 = paramPlayersCardsInfo.duiNum + 1;
	      paramPlayersCardsInfo.duiNum = i6;
	      if (localCardsType.max > 11)
	        break label487;
	      int i7 = paramPlayersCardsInfo.smallDuiNum + 1;
	      paramPlayersCardsInfo.smallDuiNum = i7;
	    }
	    while (true)
	    {
	      if (localCardsType.max > 14)
	      {
	        int i8 = paramPlayersCardsInfo.twoAndJokerNum + 2;
	        paramPlayersCardsInfo.twoAndJokerNum = i8;
	      }
	      if (localCardsType.type == 3)
	      {
	        int i9 = paramPlayersCardsInfo.sanNum + 1;
	        paramPlayersCardsInfo.sanNum = i9;
	        int i10 = paramPlayersCardsInfo.danNumTotal - 1;
	        paramPlayersCardsInfo.danNumTotal = i10;
	        if (localCardsType.max > 14)
	        {
	          int i11 = paramPlayersCardsInfo.twoAndJokerNum + 3;
	          paramPlayersCardsInfo.twoAndJokerNum = i11;
	        }
	      }
	      if (localCardsType.type == 13)
	      {
	        int i12 = paramPlayersCardsInfo.zhaNum + 1;
	        paramPlayersCardsInfo.zhaNum = i12;
	        int i13 = paramPlayersCardsInfo.danNumTotal - 2;
	        paramPlayersCardsInfo.danNumTotal = i13;
	        if (localCardsType.max > 14)
	        {
	          int i14 = paramPlayersCardsInfo.twoAndJokerNum + 4;
	          paramPlayersCardsInfo.twoAndJokerNum = i14;
	        }
	      }
	      if (localCardsType.type == 8)
	      {
	        int i15 = paramPlayersCardsInfo.shunNum + 1;
	        paramPlayersCardsInfo.shunNum = i15;
	      }
	      if (localCardsType.type == 9)
	      {
	        int i16 = paramPlayersCardsInfo.shun2Num + 1;
	        paramPlayersCardsInfo.shun2Num = i16;
	      }
	      if (localCardsType.type == 10)
	      {
	        int i17 = paramPlayersCardsInfo.shun3Num + 1;
	        paramPlayersCardsInfo.shun3Num = i17;
	        int i18 = paramPlayersCardsInfo.danNumTotal;
	        int i19 = localCardsType.length / 3;
	        int i20 = i18 - i19;
	        paramPlayersCardsInfo.danNumTotal = i20;
	      }
	      j += 1;
	      break;
	      label487: int i21 = paramPlayersCardsInfo.bigDuiNum + 1;
	      paramPlayersCardsInfo.bigDuiNum = i21;
	    }
	  }

	  private static Vector<Card> sliceCards(Vector<Card> paramVector, int paramInt)
	  {
	    Object localObject;
	    if ((paramVector.size() <= paramInt) || (paramInt < 0))
	    {
	      localObject = null;
	      return localObject;
	    }
	    Vector localVector = cloneCards(paramVector);
	    int i = 0;
	    while (true)
	    {
	      if (i >= paramInt)
	      {
	        localObject = localVector;
	        break;
	      }
	      localVector.removeElementAt(0);
	      i += 1;
	    }
	  }

	  public static Vector<Card> sortByBigOrSmall(Vector<Card> paramVector)
	  {
	    Vector localVector = cloneCards(paramVector);
	    CardCompare localCardCompare = new CardCompare();
	    Collections.sort(localVector, localCardCompare);
	    return localVector;
	  }

	  public static Vector<Card> sortByFaceAndSuit(Vector<Card> paramVector)
	  {
	    Vector localVector1 = sortByBigOrSmall(paramVector);
	    Vector localVector2 = new Vector();
	    Card localCard1;
	    Card localCard2;
	    if (localVector1.size() >= 2)
	    {
	      localCard1 = (Card)localVector1.elementAt(0);
	      localCard2 = (Card)localVector1.elementAt(1);
	      if ((localCard1.num == 17) && (localCard2.num == 16))
	      {
	        int i = localCard1.index;
	        int j = localCard1.suit;
	        Card localCard3 = new Card(i, j);
	        boolean bool1 = localVector2.add(localCard3);
	        int k = localCard2.index;
	        int m = localCard2.suit;
	        Card localCard4 = new Card(k, m);
	        boolean bool2 = localVector2.add(localCard4);
	        boolean bool3 = localVector1.removeElement(localCard1);
	        boolean bool4 = localVector1.removeElement(localCard2);
	      }
	    }
	    int n;
	    label179: label205: int i4;
	    if (localVector1.size() >= 4)
	    {
	      n = 0;
	      int i1 = localVector1.size() - 3;
	      if (n < i1);
	    }
	    else
	    {
	      if (localVector1.size() >= 3)
	      {
	        n = 0;
	        int i2 = localVector1.size() - 2;
	        if (n < i2)
	          break label546;
	      }
	      if (localVector1.size() >= 2)
	      {
	        n = 0;
	        int i3 = localVector1.size() - 1;
	        if (n < i3)
	          break label773;
	      }
	      i4 = localVector1.size();
	      n = 0;
	    }
	    while (true)
	    {
	      if (n >= i4)
	      {
	        return localVector2;
	        localCard1 = (Card)localVector1.elementAt(n);
	        int i5 = n + 1;
	        localCard2 = (Card)localVector1.elementAt(i5);
	        int i6 = n + 2;
	        Card localCard5 = (Card)localVector1.elementAt(i6);
	        int i7 = n + 3;
	        Card localCard6 = (Card)localVector1.elementAt(i7);
	        int i8 = localCard1.num;
	        int i9 = localCard2.num;
	        if (i8 == i9)
	        {
	          int i10 = localCard2.num;
	          int i11 = localCard5.num;
	          if (i10 == i11)
	          {
	            int i12 = localCard5.num;
	            int i13 = localCard6.num;
	            if (i12 == i13)
	            {
	              int i14 = localCard1.index;
	              int i15 = localCard1.suit;
	              Card localCard7 = new Card(i14, i15);
	              boolean bool5 = localVector2.add(localCard7);
	              int i16 = localCard2.index;
	              int i17 = localCard2.suit;
	              Card localCard8 = new Card(i16, i17);
	              boolean bool6 = localVector2.add(localCard8);
	              int i18 = localCard5.index;
	              int i19 = localCard5.suit;
	              Card localCard9 = new Card(i18, i19);
	              boolean bool7 = localVector2.add(localCard9);
	              int i20 = localCard6.index;
	              int i21 = localCard6.suit;
	              Card localCard10 = new Card(i20, i21);
	              boolean bool8 = localVector2.add(localCard10);
	              boolean bool9 = localVector1.removeElement(localCard1);
	              boolean bool10 = localVector1.removeElement(localCard2);
	              boolean bool11 = localVector1.removeElement(localCard5);
	              boolean bool12 = localVector1.removeElement(localCard6);
	              n += -1;
	            }
	          }
	        }
	        n += 1;
	        break;
	        label546: localCard1 = (Card)localVector1.elementAt(n);
	        int i22 = n + 1;
	        localCard2 = (Card)localVector1.elementAt(i22);
	        int i23 = n + 2;
	        localCard5 = (Card)localVector1.elementAt(i23);
	        int i24 = localCard1.num;
	        int i25 = localCard2.num;
	        if (i24 == i25)
	        {
	          int i26 = localCard2.num;
	          int i27 = localCard5.num;
	          if (i26 == i27)
	          {
	            int i28 = localCard1.index;
	            int i29 = localCard1.suit;
	            Card localCard11 = new Card(i28, i29);
	            boolean bool13 = localVector2.add(localCard11);
	            int i30 = localCard2.index;
	            int i31 = localCard2.suit;
	            Card localCard12 = new Card(i30, i31);
	            boolean bool14 = localVector2.add(localCard12);
	            int i32 = localCard5.index;
	            int i33 = localCard5.suit;
	            Card localCard13 = new Card(i32, i33);
	            boolean bool15 = localVector2.add(localCard13);
	            boolean bool16 = localVector1.removeElement(localCard1);
	            boolean bool17 = localVector1.removeElement(localCard2);
	            boolean bool18 = localVector1.removeElement(localCard5);
	            n += -1;
	          }
	        }
	        n += 1;
	        break label179;
	        label773: localCard1 = (Card)localVector1.elementAt(n);
	        int i34 = n + 1;
	        localCard2 = (Card)localVector1.elementAt(i34);
	        int i35 = localCard1.num;
	        int i36 = localCard2.num;
	        if (i35 == i36)
	        {
	          int i37 = localCard1.index;
	          int i38 = localCard1.suit;
	          Card localCard14 = new Card(i37, i38);
	          boolean bool19 = localVector2.add(localCard14);
	          int i39 = localCard2.index;
	          int i40 = localCard2.suit;
	          Card localCard15 = new Card(i39, i40);
	          boolean bool20 = localVector2.add(localCard15);
	          boolean bool21 = localVector1.removeElement(localCard1);
	          boolean bool22 = localVector1.removeElement(localCard2);
	          n += -1;
	        }
	        n += 1;
	        break label205;
	      }
	      Card localCard16 = (Card)localVector1.elementAt(n);
	      int i41 = localCard16.index;
	      int i42 = localCard16.suit;
	      Card localCard17 = new Card(i41, i42);
	      boolean bool23 = localVector2.add(localCard17);
	      n += 1;
	    }
	  }

	  private static void swap(int[] paramArrayOfInt, int paramInt1, int paramInt2)
	  {
	    int i = paramArrayOfInt[paramInt1];
	    int j = paramArrayOfInt[paramInt2];
	    paramArrayOfInt[paramInt1] = j;
	    paramArrayOfInt[paramInt2] = i;
	  }

	  public static CardsAfterSpilt takeOutCards(int[] paramArrayOfInt, Vector<Card> paramVector)
	  {
	    Object localObject;
	    if ((paramArrayOfInt == null) || (paramArrayOfInt.length == 0))
	      localObject = null;
	    while (true)
	    {
	      return localObject;
	      int i = paramArrayOfInt.length;
	      int j = paramVector.size();
	      if (i > j)
	      {
	        localObject = null;
	        continue;
	      }
	      Vector localVector1 = new Vector();
	      Vector localVector2 = cloneCards(paramVector);
	      int k = 0;
	      if (k >= i)
	      {
	        int m = localVector1.size();
	        int n = paramArrayOfInt.length;
	        if (m == n)
	        {
	          int i1 = localVector1.size();
	          int i2 = localVector2.size();
	          int i3 = i1 + i2;
	          int i4 = paramVector.size();
	          if (i3 == i4);
	        }
	        else
	        {
	          localObject = null;
	          continue;
	        }
	      }
	      else
	      {
	        int i5 = localVector2.size();
	        int i6 = 0;
	        while (true)
	        {
	          if (i6 >= i5);
	          while (true)
	          {
	            k += 1;
	            break;
	            int i7 = paramArrayOfInt[k];
	            int i8 = ((Card)localVector2.elementAt(i6)).num;
	            if (i7 != i8)
	              break label199;
	            Card localCard = (Card)localVector2.elementAt(i6);
	            boolean bool = localVector1.add(localCard);
	            localVector2.removeElementAt(i6);
	          }
	          label199: i6 += 1;
	        }
	      }
	      CardsAfterSpilt localCardsAfterSpilt = new CardsAfterSpilt();
	      localCardsAfterSpilt.spiltCards = localVector1;
	      localCardsAfterSpilt.leftCards = localVector2;
	      localObject = localCardsAfterSpilt;
	    }
	  }

	  private static Vector<CardsAfterMake> takeOutShun(CardsAfterMake paramCardsAfterMake)
	  {
	    CardsAllKind localCardsAllKind = getAllCardsKind(paramCardsAfterMake.leftCards);
	    Vector localVector1 = new Vector();
	    int i = localCardsAllKind.shun.size();
	    Vector localVector2;
	    if (i == 0)
	      localVector2 = null;
	    while (true)
	    {
	      return localVector2;
	      int j = 0;
	      if (j >= i)
	      {
	        if (localVector1.size() == 0)
	        {
	          localVector2 = null;
	          continue;
	        }
	      }
	      else
	      {
	        Shun localShun = (Shun)localCardsAllKind.shun.get(j);
	        int k = localShun.shunList.size();
	        int m = 0;
	        while (true)
	        {
	          if (m >= k)
	          {
	            j += 1;
	            break;
	          }
	          int[] arrayOfInt = listToArray((List)localShun.shunList.get(m));
	          Vector localVector3 = paramCardsAfterMake.leftCards;
	          CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, localVector3);
	          if (localCardsAfterSpilt != null)
	          {
	            CardsType localCardsType = new CardsType();
	            Vector localVector4 = localCardsAfterSpilt.spiltCards;
	            localCardsType.cards = localVector4;
	            localCardsType.type = 8;
	            int n = ((Card)localCardsAfterSpilt.spiltCards.elementAt(0)).num;
	            localCardsType.max = n;
	            int i1 = localCardsAfterSpilt.spiltCards.size();
	            localCardsType.length = i1;
	            CardsAfterMake localCardsAfterMake = new CardsAfterMake();
	            Vector localVector5 = cloneCardsTypes(paramCardsAfterMake.spiltCards);
	            localCardsAfterMake.spiltCards = localVector5;
	            boolean bool1 = localCardsAfterMake.spiltCards.add(localCardsType);
	            Vector localVector6 = cloneCards(localCardsAfterSpilt.leftCards);
	            localCardsAfterMake.leftCards = localVector6;
	            boolean bool2 = localVector1.add(localCardsAfterMake);
	          }
	          m += 1;
	        }
	      }
	      localVector2 = localVector1;
	    }
	  }

	  private static Vector<CardsAfterMake> takeOutShun2(CardsAfterMake paramCardsAfterMake)
	  {
	    CardsAllKind localCardsAllKind = getAllCardsKind(paramCardsAfterMake.leftCards);
	    Vector localVector1 = new Vector();
	    int i = localCardsAllKind.shun2.size();
	    Vector localVector2;
	    if (i == 0)
	      localVector2 = null;
	    while (true)
	    {
	      return localVector2;
	      int j = 0;
	      if (j >= i)
	      {
	        if (localVector1.size() == 0)
	        {
	          localVector2 = null;
	          continue;
	        }
	      }
	      else
	      {
	        Shun localShun = (Shun)localCardsAllKind.shun2.get(j);
	        int k = localShun.shunList.size();
	        int m = 0;
	        while (true)
	        {
	          if (m >= k)
	          {
	            j += 1;
	            break;
	          }
	          int[] arrayOfInt = listToArray((List)localShun.shunList.get(m));
	          Vector localVector3 = paramCardsAfterMake.leftCards;
	          CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, localVector3);
	          if (localCardsAfterSpilt != null)
	          {
	            CardsType localCardsType = new CardsType();
	            Vector localVector4 = localCardsAfterSpilt.spiltCards;
	            localCardsType.cards = localVector4;
	            localCardsType.type = 9;
	            int n = ((Card)localCardsAfterSpilt.spiltCards.elementAt(0)).num;
	            localCardsType.max = n;
	            int i1 = localCardsAfterSpilt.spiltCards.size();
	            localCardsType.length = i1;
	            CardsAfterMake localCardsAfterMake = new CardsAfterMake();
	            Vector localVector5 = cloneCardsTypes(paramCardsAfterMake.spiltCards);
	            localCardsAfterMake.spiltCards = localVector5;
	            boolean bool1 = localCardsAfterMake.spiltCards.add(localCardsType);
	            Vector localVector6 = cloneCards(localCardsAfterSpilt.leftCards);
	            localCardsAfterMake.leftCards = localVector6;
	            boolean bool2 = localVector1.add(localCardsAfterMake);
	          }
	          m += 1;
	        }
	      }
	      localVector2 = localVector1;
	    }
	  }

	  private static Vector<CardsAfterMake> takeOutShun3(CardsAfterMake paramCardsAfterMake)
	  {
	    CardsAllKind localCardsAllKind = getAllCardsKind(paramCardsAfterMake.leftCards);
	    Vector localVector1 = new Vector();
	    int i = localCardsAllKind.shun3.size();
	    Vector localVector2;
	    if (i == 0)
	      localVector2 = null;
	    while (true)
	    {
	      return localVector2;
	      int j = 0;
	      if (j >= i)
	      {
	        if (localVector1.size() == 0)
	        {
	          localVector2 = null;
	          continue;
	        }
	      }
	      else
	      {
	        Shun localShun = (Shun)localCardsAllKind.shun3.get(j);
	        int k = localShun.shunList.size();
	        int m = 0;
	        while (true)
	        {
	          if (m >= k)
	          {
	            j += 1;
	            break;
	          }
	          int[] arrayOfInt = listToArray((List)localShun.shunList.get(m));
	          Vector localVector3 = paramCardsAfterMake.leftCards;
	          CardsAfterSpilt localCardsAfterSpilt = takeOutCards(arrayOfInt, localVector3);
	          if (localCardsAfterSpilt != null)
	          {
	            CardsType localCardsType = new CardsType();
	            Vector localVector4 = localCardsAfterSpilt.spiltCards;
	            localCardsType.cards = localVector4;
	            localCardsType.type = 10;
	            int n = ((Card)localCardsAfterSpilt.spiltCards.elementAt(0)).num;
	            localCardsType.max = n;
	            int i1 = localCardsAfterSpilt.spiltCards.size();
	            localCardsType.length = i1;
	            CardsAfterMake localCardsAfterMake = new CardsAfterMake();
	            Vector localVector5 = cloneCardsTypes(paramCardsAfterMake.spiltCards);
	            localCardsAfterMake.spiltCards = localVector5;
	            boolean bool1 = localCardsAfterMake.spiltCards.add(localCardsType);
	            Vector localVector6 = cloneCards(localCardsAfterSpilt.leftCards);
	            localCardsAfterMake.leftCards = localVector6;
	            boolean bool2 = localVector1.add(localCardsAfterMake);
	          }
	          m += 1;
	        }
	      }
	      localVector2 = localVector1;
	    }
	  }
}
